1304 Commits

Author SHA1 Message Date
Michael Bayne 97f6eb7c85 Switch to Java's logging facilities.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@254 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-30 01:18:06 +00:00
Ray Greenwell 59c6998c30 Allow subclasses to choose not to call handleFrame() when
ADDED_TO_STAGE is received.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@253 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-28 01:17:37 +00:00
Ray Greenwell 44d35eb9d3 Moved our custom hit-testing here from MsoySprite.
I was hoping to have our nice transparent-pixels-don't-count hitting
for every media container, including any game icon decoration over
an avatar's head, but after moving this I remembered that it may
be pointless, as it *never matters*- flash simply doesn't use this
method to test mouse-overness. So it may be moot, unless we do mouse-over
polling like we do in the RoomView, which is too expensive to do everywhere..


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@252 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-18 20:40:24 +00:00
Ray Greenwell 95f14a3c03 - Planted the TextField constants here. You know: thee ones that Adobe
thought it would be fun for everyone to guess.
- Added a static method to track TextFields and ensure that only
  one of those tracked ever has a selection.
- On linux, automatically put selected text (in one of these tracked
  TextFields) into the clipboard. Untested: it at least doesn't work with
  the standalone player.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@251 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-16 22:48:19 +00:00
Ray Greenwell c49e3102e9 Default to unselectable text.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@250 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-16 22:45:46 +00:00
Michael Bayne 91c45db381 Let's do this in a way that allows more than a single value to be used in the
natural comparison.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@249 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 17:50:16 +00:00
Michael Bayne acea29604d Make AbstractMedia implement Comparable instead of using a comparator. Added
naturalOrder() which allows media to use a more consistent "same render order"
order resolution value than Object.hashCode().


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@248 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 17:45:18 +00:00
Michael Bayne f7dfe51a9c Oh yeah, we need to call that method.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@247 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 17:05:04 +00:00
Michael Bayne 9a30debf42 Type safety and widening.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@246 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 16:59:58 +00:00
Andrzej Kapolka c755fd626a To reduce shader state changes and compilations, just use the
four-bone-per-vertex configuration for all skinned meshes.  Depending on 
the models we have, it may be worth compiling a separate one for two 
bones per vertex.  Added a hook to customize the material color (for 
per-vertex colors, e.g.)


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@245 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 00:55:19 +00:00
Andrzej Kapolka 124af1e0b1 Use a fragment shader as well as a vertex shader for the skinned meshes.
I tracked the ATI slowdown down to using a vertex shader in combination 
with fixed function fog.  Also cleaned up ShaderConfig a little.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@244 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-14 20:13:39 +00:00
Andrzej Kapolka 6b07087c31 32 matrices is just a feeeeew two many for ATI cards, but of course
their drivers can't do anything useful like report an error; they just 
silently screw up.  Limiting it to 31 makes it work, but there's still a 
strange slowdown issue (and it's not that the shaders are being run in 
software, but it's worth checking for that anyway).


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@243 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-12 00:57:35 +00:00
Michael Bayne 12e17a9e33 Remove debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@242 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-11 23:28:00 +00:00
Andrzej Kapolka 82ba950111 Go back to using byte buffers; that wasn't the problem.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@241 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-11 18:30:51 +00:00
Ray Greenwell 345895c32c Comment fixup.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@240 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 23:47:29 +00:00
Ray Greenwell ab892bcd9d Handles some boilerplate functionality.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@239 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 23:46:34 +00:00
Andrzej Kapolka fd192268c3 Try using shorts rather than bytes for bone indices.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@238 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 23:21:15 +00:00
Andrzej Kapolka 8a0168760f Much work to reconfigure shaders automatically based on the model's
current JME state set.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@237 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 20:35:27 +00:00
Andrzej Kapolka 1d8f04c43a Prepend the #version directive before compiling the shader.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@236 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 01:31:42 +00:00
Andrzej Kapolka e5db96b963 Ignore cull mode when we're generating frames to morph between.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@235 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 01:07:54 +00:00
Michael Bayne 2e0678877b Use the hacky PerfTimer if available and fall back to the NanoTimer if we're
running in a sandbox.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@234 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-09 21:53:42 +00:00
Dave Hoover 20fe53d07f Did I leave the stove on?
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@233 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-09 20:11:02 +00:00
Andrzej Kapolka 45df6d814b Use VBOs for vertices, indices when using shaders; multiply vertices by
weights even if we only have one weight per vertex.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@232 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-09 19:51:32 +00:00
Michael Bayne 0024a02067 Wow, the media framework gets into a bad way if it's forced to use the
inaccurate System.currentTimeMillis() timer. Fortuately Sun introduced
System.nanoTime() in 1.5 which provides civilized timing information, so we can
use that instead of sun.misc.Perf which is unavailable in an applet sandbox. We
will need to go in and try to cope as best we can with currentTimeMillis() if
we want to support unsigned play in JDK 1.4 or earlier. We'll do that later.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@231 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-09 19:22:10 +00:00
Andrzej Kapolka ef35b37648 We need to create a new array when we're *not* using shaders.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@230 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-08 01:56:53 +00:00
Andrzej Kapolka 742dc30f9e Basic support for skinning with GLSL shaders. Still need to work out
how to handle different lighting arrangements and complex materials 
(e.g., the metal effect for the Iron Plate).


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@229 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-08 01:50:07 +00:00
Mike Thomas 8a2e67831e Also need to cope with non-component _root in BackFrameManager
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@228 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-04 23:14:26 +00:00
Michael Bayne 2c6fdf5d94 Cope if our ManagedRoot is not a component.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@227 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-04 23:08:08 +00:00
Andrzej Kapolka 3401bbf3bf Don't skin what you can't see.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@226 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-04 01:25:40 +00:00
Ray Greenwell d43eabc156 We should be removing ourselves from our parent when we're finished.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@225 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-04 00:41:32 +00:00
Andrzej Kapolka bb54ec1888 Optimize vertex order for cache usage and use a better data structure to
(re)index vertices.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@224 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-04 00:39:54 +00:00
Michael Bayne 095c718244 Render to the applet instead of its parent window since that doesn't work.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@223 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-03 22:56:29 +00:00
Michael Bayne ab6252cee7 Widened. Added getMirage(String).
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@222 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-03 21:13:32 +00:00
Andrzej Kapolka 277b62bd52 Don't merge meshes where, in any animation, one is visible and the other
isn't.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@221 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-02 18:19:09 +00:00
Ray Greenwell a855fa8340 Comment fixup.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@220 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-02 00:13:29 +00:00
Ray Greenwell 330a99f337 Added isContentInitialized(), which should be used to help differentiate
between an MsoySprite that does not have any WhirledControl subclass in it
and those that do, but are just not yet fully loaded.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@219 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-02 00:10:00 +00:00
Andrzej Kapolka 072926f814 Merge meshes in animated models by finding ones that maintain the same
relative position throughout all animations.  Also, don't include 
transforms in the animations for nodes that never move.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@218 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-01 23:36:23 +00:00
Ray Greenwell 86298ca832 I've decided I like setCallback() better than setFunction().
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@217 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-01 16:32:27 +00:00
Ray Greenwell 353d7213d0 Bugfix for animations that complete instantly.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@216 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-27 23:06:32 +00:00
Andrzej Kapolka 250670e699 Default to using S3TC texture compression.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@215 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-27 20:48:48 +00:00
Ray Greenwell 1d04c51070 Use TextFieldUtil.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@214 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-27 01:28:28 +00:00
Ray Greenwell f50613a913 Utility methods to attempt to make initializing a TextField easier.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@213 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-27 01:27:54 +00:00
Ray Greenwell fb1eb6026b Call updateAnimation() immediately on any starting animation.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@212 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-27 00:51:50 +00:00
Ray Greenwell 5f83a3bbcf Revamping animations to be based off of ENTER_FRAME rather than
using a rapidly-expiring Timer. Cleaned up some other bits.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@211 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-26 23:52:25 +00:00
Robert Zubeck 79c388a906 Basic 3D vector library.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@210 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-25 23:13:16 +00:00
Ray Greenwell c48aa541e8 Added hook for subclasses to initialize things prior to loading a new
piece of media.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@209 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-24 23:25:03 +00:00
Ray Greenwell 74d0b7286b More text animations, these are capable of animating each character.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@208 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-24 22:56:26 +00:00
Ray Greenwell 03e3b1b91c Some fixups. I think I'm going to want to refactor this so
that there are util methods for creating nice textfields, and then
generic animation classes for floating anything. This can then become
a convenience class that marries the two.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@207 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-24 22:55:29 +00:00
Ray Greenwell 476334e5ee It's ok to BE null, it just can't be set to null.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@206 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-24 21:28:49 +00:00
Ray Greenwell 97ff4caa41 Working towards some easy-to-use score animation type things.
Actionscript's lack of method overloading sucks. I can't have more
than one constructor, and factory methods will have to have different names.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@205 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-04-24 21:22:54 +00:00