Commit Graph

175 Commits

Author SHA1 Message Date
Ray Greenwell 48fb6e51e4 - Prevent weirdness when trying to remove our child.. someone we may get
a ROLL_OUT without having first got a ROLL_OVER?
- Clicks that land on the video control should be stopped there and not
  allowed to trickle back up, potentially triggering the furni action that
  someone's set on the video.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4611 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-28 05:22:47 +00:00
Ray Greenwell 2bff3befde A reasonable alpha-level video displayer.
When you mouse-over it, the controls appear, which are currently only
a pause/play button. When it reaches the end, it autorewinds and pauses.
Things:
- We may want all videos to start paused. However, since we're not using
 a streaming media server, there's no way to show the first frame without
 loading the video unless we screenshot it on the server and then include
 a secondary media ident, which we don't do. So: as long as the user has
 to load the FLV, we may as well play it and not make it just look like
 an image.
- We'll probably want to adapt this into a standalone video displayer that
 can be used to view FLVs using our UI from inside a web page.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4610 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-28 04:57:30 +00:00
Ray Greenwell e4d7b86d2b Cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4609 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-28 04:51:51 +00:00
Ray Greenwell 6bb0b50186 Another use for ValueEvent. Should be compatible with old listeners.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4608 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-28 03:02:54 +00:00
Ray Greenwell 8a46320e95 Re-enable video in the world.
There are a few rough edges which'll eventually get ironed out.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4607 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-28 02:59:37 +00:00
Ray Greenwell d652de50e7 I should have created this a while back. Sometimes we just want to wild-up
some custom event to communicate a value to listeners. This is for that.

CommandEvents are close, but are all dispatched using a single 'type' value,
so a single handler must have a switch statement in it (unless you're
a controller, which has magic to call the right method.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-28 02:58:45 +00:00
Ray Greenwell a11b338156 Document something that doesn't work.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4605 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-27 19:43:55 +00:00
Ray Greenwell aedd77c17c Dispatch an event when config values change.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4603 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-26 20:11:40 +00:00
Michael Bayne 09f0bee0f3 Yet more header patrol.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-24 00:39:27 +00:00
Nathan Curtis fe7981b1bf typed container for storing two flash.geom.Point(s)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4597 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-22 23:34:13 +00:00
Ray Greenwell 573e5989b7 Go back to using mx.resources.ResourceBundle, as it's the standard thing
and turned out to not be the class that was sucking in vast quantities of
flex code. Alas.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4596 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-22 19:21:08 +00:00
Ray Greenwell bf4d4ee5ec De-flexing: created our own ResourceBundle, ditched Locale from MesageManager
(it doesn't do jack right now anyway)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4592 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-22 05:07:14 +00:00
Ray Greenwell 8da83e92cf HashMap -> HashObjectMap
Hashtable -> HashMap

The one regularly used is now called HashMap. It can have keys of simple
flash datatypes, as well as objects that implement Hashable.

HashObjectMap has the ability to use nearly any object as a key, but
pays a price for it and should be avoided unless you need it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4591 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-22 04:06:22 +00:00
Nathan Curtis 60217f11d9 fix comment to reflect reality
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4590 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-22 00:22:14 +00:00
Par Winzell f2137ff236 Added a DateUtil class with a convenience function I need.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4589 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-21 23:30:16 +00:00
Ray Greenwell 9c626246a0 Don't need this, was testing the numerator anyway.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4588 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-21 02:16:40 +00:00
Ray Greenwell 7651c6d400 Added getContent() to get the top-level DisplayObject from a loaded SWF.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4587 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-21 01:52:04 +00:00
Nathan Curtis bb73488fe8 don't know how this escaped my last commit...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4586 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-20 22:59:09 +00:00
Ray Greenwell 687dbe0216 Simple frames-per-second displayer.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4585 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-20 05:22:27 +00:00
Ray Greenwell 1b774f3f15 Oh hey, when I de-flexed our Log class I forgot that the flex version
had the capability to add targets (with their own module / log-level).
Add back in this capability, in very simple form for now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4584 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-17 03:03:41 +00:00
Ray Greenwell bca51291ae Video's been broken for a little while, but I had removed all my video
objects so was not seeing NPEs that others were.
Fixed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4581 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-15 00:54:59 +00:00
Ray Greenwell 69ea4f349f Auto-unwrap invocation response arguments as well.
Make Long not wrapped for now.
Don't svn update until after mdb regenerates everything..


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4569 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-12 21:49:21 +00:00
Ray Greenwell d1ff63d62d ArrayIterator can be unmodifiable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4550 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-10 03:35:37 +00:00
Ray Greenwell e404b83531 This was never used.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4547 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-10 01:27:52 +00:00
Ray Greenwell 2e3ff5ed58 Don't let our class definitions clobber classes defined in a loaded SWF.
(Put the user content as a child of the system ApplicationDomain).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4544 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-09 01:15:08 +00:00
Par Winzell 494cda3008 Even stolen code should conform to our style.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4541 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-07 23:38:22 +00:00
Par Winzell 982830b003 Rather than trying to fix the broken linear congruence algorithm, here is a Mersenne Twister instead. It should be a drop-in replacement to whatever degree that matters.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4540 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-07 22:57:03 +00:00
Ray Greenwell f4db2536df Actionscript, you are too strange.
I thought I was casting: Function(myObject)
I gotta remember that the function-looking variants do more than cast.
For example:

  var o :Object = null;
  var s :String = String(o);
  trace(s.length); // outputs 4.   (s === "null", now)

Apparently Function(args) tries to evaluate the arguments as if they were
code. Switched to casting like (args as Function);


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4539 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-07 19:14:23 +00:00
Ray Greenwell b6886aabaa Added toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4538 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-07 03:30:48 +00:00
Ray Greenwell 8ab80b10a5 Deflexing presents.
Created a simple MethodQueue utility class that works nearly identically
to UIComponent.callLater().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4537 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-07 00:10:56 +00:00
Ray Greenwell 3c75faa8a1 Bugfix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4536 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-07 00:05:48 +00:00
Ray Greenwell 4a630a5bb5 No need to route these events through pointless methods.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4534 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-06 00:01:41 +00:00
Ray Greenwell 8925db6450 Removed toHexString().
It's not needed, as the 'int' class has various formatting functions.
These functions can even be called on constants, if you trick the compiler
a little bit by wrapping them in parens:

    trace("hex: " + (4097).toString(16));


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4522 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-31 19:56:08 +00:00
Jonathan Le Plastrier 1780c905cf CommandEvent got moved back into this package.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4521 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-31 05:24:18 +00:00
Ray Greenwell 46e6916a58 Actually CommandEvent needs to live back here, Controller depends on it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4520 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-31 03:03:04 +00:00
Ray Greenwell 0a48fb2b18 Renamed, commented, deprecated.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4517 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-30 18:16:21 +00:00
Ray Greenwell 4c81cc104b Case-insensitive matching on urls.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4514 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-29 22:51:53 +00:00
Ray Greenwell 5fcbf90bb0 Added some hooks for subclasses.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4513 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-25 23:04:33 +00:00
Ray Greenwell e6c38e81c6 - Some deflexing of the low-level narya stuff. More to come, as we're
going to want the minimum client to be flex-free.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4507 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-22 19:58:24 +00:00
Ray Greenwell d10b94df85 Convert MediaContainer to be just a subclass of Sprite, so that I can
de-flex the 'world' portions of metasoy.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4506 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-18 00:36:27 +00:00
Ray Greenwell ec54654354 Added toHexString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4505 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-16 22:31:07 +00:00
Mark Johnson eebb818c82 Some improvements as per Ray's suggestion
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4503 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-12 22:47:44 +00:00
Mark Johnson e3d338b6ec Use the EmbededClassLoader to get full access to an embeded swf file, including all classes,
functions and namespaces defined in it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4502 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-12 22:04:46 +00:00
Michael Bayne 0267c4b5c5 Added Integer.compare(). I wish Java had such a method (that worked on int
values rather than Integer values).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4500 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-06 03:32:00 +00:00
Ray Greenwell 8b73d881f3 Added parseURLs().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4484 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-14 00:27:57 +00:00
Ray Greenwell 7b41dbf8ba Made _panel protected instead of private.
Changed the name to _controlledPanel because otherwise it interfered with
subclass _panel variables. (Actionscript won't let variables be masked).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4483 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-13 21:37:46 +00:00
Ray Greenwell c0b89ae7a5 ColorUtil.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4480 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-12 23:09:38 +00:00
Ray Greenwell a9e60be7c7 Another well-thought out actionscript feature: varags!
In java, if you override a varargs method you can easily call super, you just
have to do a wee cast:

    @Override
    public Stuff getStuff (int thing, Object... args)
    {
        return super.getStuff(thing, (Object[]) args);
    }

In abjectscript:

    override public function getStuff (thing :int, ... args) :Stuff
    {
        // This doesn't work, because now 'args' to super is an array
        // containing OUR args array as its first element.
        return super.getStuff(thing, args);

        // We can fix things for super by 'apply'ing the function to
        // all the args in one array...
        args.unshift(thing);
        return super.apply(this, args);

        // But it could also be the case that someone is intentionally
        // passing an array to this method (many flash library methods take
        // varargs but also accept arrays and do this same thing).
        if (args.length == 1 && (args[0] is Array)) {
            args = (args[0] as Array);
        }
        return super.getStuff(thing, args); // super must ALSO do the unjimmying

        // OR, we could combine the two so that super doesn't have to
        // do unjimmying.
    }

As a note, there is an 'arguments' object that is secretly placed in every
function call, presumably so that callers can test whether an arg is
the default value because the user didn't pass it in or whether it's
the default because the user happened to pass in the default.
Guess yourself, because that doesn't seem worth adding as a language feature.
Anyway, the 'arguments' is not an array! You can't use it to call super
via 'apply'. It's another associative hash. God bless you actionscript,
you just make so much fucking sense.

So I made a utility method for unfucking vargs.

I bitch a lot, yes, but my bitching takes only a fraction of the time
that was wasted discovering whatever it is I'm bitching about
(this was fun to trace backwards to the source, oh yes), and maybe I
can save others some time as a result.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4477 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-09 00:08:09 +00:00
Ray Greenwell ad4f36729b Import mx's StringUtil.substitute() into our own StringUtil, as it's annoying
to have two StringUtils.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4475 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-07 21:26:05 +00:00
Ray Greenwell 0ffa0211bc Converted the base CurseFilter to actionscript.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4474 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-07 03:43:18 +00:00