Commit Graph

299 Commits

Author SHA1 Message Date
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 9744d09e52 De-flexing: don't use the MX logging facilities. They're cool and allow
filtering based on package, but we may not ever use that functionality and
it's far more useful to be able to freely include this Log class without
worrying that it will suck in some flex classes as well.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4535 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-06 20:49:20 +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 b2301d520c Repackaging these into nenya.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4519 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-31 02:55:48 +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 4c1f21a651 Check-in comments that were laying about.
I will probably repackage everything I placed under "mx" soon...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4516 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-30 02:57:50 +00:00
Ray Greenwell 3b78e9d98d Avoid HashMap because it has tendrils into Flex. (Hashtable is just the
same but requires keys to be simple or Hashable.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4515 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-30 02:57:14 +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 69529fc624 "get" is a legal function name, so let's be consistent with the Java code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4508 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-23 22:43:54 +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
Andrzej Kapolka 5c7f8f8405 Moved set/clear place view calls into separate methods in order to
override the behavior in subclasses.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4501 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-09 21:22:13 +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 f876303406 Flex 2.0 -> 2.0.1 API change.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4497 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-02 23:39:51 +00:00
Ray Greenwell f65729f635 Have messages know their own formatting string.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4496 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-02 22:51:51 +00:00
Ray Greenwell dca9072595 Changed the TellFeedbackMessage to be a special kind of UserMessage.
It was always a little special, since it's dispatched from the client, but
I want it to be handled like other messages so that we can recolor
different parts of the message as I do in metasoy.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4495 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-01-02 21:58:40 +00:00
Ray Greenwell 822b82baf0 Updated to not have to return a boolean from ObserverList functions.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4485 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-14 02:14:01 +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 d1e629ce8f Track the client timestamp in the actionscript way.
(Time values are ints and start at 0 when the flash player starts up,
there is a different way to read the epoch millis, returned as a double)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4482 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-13 20:47:42 +00:00
Ray Greenwell c99ffa315b Made popping upwards not the default. (Which is more sensible anyway)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4481 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-13 03:07:39 +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 ba4987e679 Now finally us admins can /broadcast on dev.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4479 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-09 01:31:01 +00:00
Ray Greenwell 13e5d3093d Publicize addChatter().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4478 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-09 00:41:00 +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 f9b2ef2d40 Cleaned up some wackiness that was left over from the conversion from
Java to abjectscript: substitution happens differently and the way I left
it last night was less than ideal.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4476 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-07 21:28:15 +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
Ray Greenwell acdd1b543c Expanding chat services that were ommitted earlier: filtering, chatters.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4472 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-07 00:11:15 +00:00
Ray Greenwell e28f419b22 escape() has nothing to do with the unescape() just below it, it's used
to prepare messages before handing them off to a MessageFormat.
We don't have those in actionscript, so we don't need to prepare.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4471 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-06 21:19:52 +00:00
Ray Greenwell b6b7e75823 Added a convenient static dumpStack() method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4470 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-06 20:21:07 +00:00
Ray Greenwell dfb4de0608 Wee Occam Jr., with his shiny oversized plastic "My First Razor"!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4469 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-06 02:50:32 +00:00
Ray Greenwell d9894b6c78 I don't think jamming things into 'source' is kosher, so do it the right
way.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4468 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-06 02:49:41 +00:00
Ray Greenwell e15d6d31d1 Found nefarious bug (when it bit me, of course).
If a listener was removed during event dispatch, the size of the list
was shrinking and putting the kibosh on listeners at the end of the list.
(The Java side avoids this due to the different way arrays work.)
- Changed the listener and subscriber lists to simple arrays, and make
  a copy prior to dispatch so that we don't miss anybody!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4467 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-06 02:48:53 +00:00
Ray Greenwell 20a9685cc4 Allow menu items to be configured with a callback function directly
(to which any args will be passed), instead of only dispatching
controller commands.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4465 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-01 03:06:42 +00:00
Ray Greenwell 06046aed9c DSet should be cloneable; ObjectUtil.copy() only works for registered
Externalizables or built-in classes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4464 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-12-01 02:24:27 +00:00
Ray Greenwell 616f18546c Return true if we succeeded.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4462 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-11-27 22:06:08 +00:00
Ray Greenwell a559b48f38 Dispatch a SIZE_KNOWN event when we know our media's size.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4461 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-11-20 22:13:02 +00:00