Commit Graph

517 Commits

Author SHA1 Message Date
Ray Greenwell e53103cf92 Introducing.. MultiLoader!
This was driven by API simplifcation, but it turns out to be a really cool class.
- Replaces some of the guts of DataPack.
- Replaces DataPackLoader.
- Replaces EmbeddedSwfLoader, although I'm not going to remove that just yet.
- Can be used to coordinate loading of multiple instances of just about anything.

More documentation coming soon.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4953 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-04 23:36:13 +00:00
Ray Greenwell b279ef6eb8 Added Util.isPlainObject().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4952 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-04 23:33:59 +00:00
Tom Conkling 8493434099 ArrayUtil.copyOf()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4950 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-04 03:18:31 +00:00
Ray Greenwell 938be601e2 Screw it, let's just do the right thing. We'll forget later.
- Use the chaining method to get a resource from ResourceManager.
- Fixed getAll so that it will not overwrite a found property with one
in the parent. Made it also understand locales and do the chaining.

This change'll cause an extra object hash lookup or two for every translation
key, but it's more Right.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4947 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-24 04:13:11 +00:00
Ray Greenwell 8823d592fd Added getAll().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4946 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-24 02:58:26 +00:00
Ray Greenwell da02f02777 Updated to work with the revamped resource handling of flex 3.
We're supposed to use ResourceManager.getString(bundleName, rsrcName)
and that will do cool locale chaining, but then we're looking up
the bundle every time. We may want to revisit this in the future.
(Cool chaining: we can compile the app with the local order as
[ "jp_JP", "en_US" ], and then if we request the "b.buy" key
from the "game" bundle, it will look in japanese for b.buy, but
fall back to english if not found.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4945 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-24 02:48:37 +00:00
Ray Greenwell 5cbc654b13 Hm, this wasn't validating the values inside objects. Fixed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4942 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-21 02:28:59 +00:00
Tom Conkling 6dee96bb15 use Function.call(), not Function.apply()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4941 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-20 00:55:28 +00:00
Tom Conkling 8929c2e89e added RingBuffer.every(), RingBuffer.forEach(), RingBuffer.indexOf()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4940 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-20 00:40:43 +00:00
Ray Greenwell 875d4988a3 Added Comparators.COMPARABLE.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4937 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-19 00:40:36 +00:00
Ray Greenwell 8ccdf19a42 Fix docs, clarify.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4934 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-05 23:57:57 +00:00
Ray Greenwell 81c4fb64db - Use safeXML utility methods.
- Some doc improvements on StringUtil.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4933 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-05 23:48:07 +00:00
Ray Greenwell 3d2166cd8d Added utility methods for safe XML operations.
So broken! The XML class is not specified in the ECMA-262 standard.
Now I know why they needed the guidelines of ECMAscript: when left
to their own devices they design broken-ass shit.
Adobe needs a cork on their fork.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4932 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-05 23:47:20 +00:00
Ray Greenwell 2ab08d0a6f Removed dependance on mx.utils.StringUtil.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4931 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-04 21:03:01 +00:00
Ray Greenwell 6c70ca11be Commenting improvements.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4930 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-04 21:02:42 +00:00
Ray Greenwell 206fd85f99 Updated StringUtil.toString() to print Objects (associative hashes).
Added some comments about inadequacies.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4929 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-01 19:34:54 +00:00
Ray Greenwell 80cbcdb396 Format our timestamp like the timestamp in our Java logs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4927 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-27 22:51:19 +00:00
Ray Greenwell bab168d443 Removed MethodQueue.setStage(), use the same trick we use in
AnimationManager and that I saw in use in Tweener: just
listen for ENTER_FRAME on some random sprite.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4926 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-24 21:47:11 +00:00
Ray Greenwell cd421f7fa7 Attempt to quit with an error code when an assertion fails.
This only works in the standalone debug player, if the swf is a trusted
local file.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4925 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-24 18:09:49 +00:00
Dave Hoover 24f557c0d7 Speeling
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4924 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-22 23:57:54 +00:00
Ray Greenwell 346e4ee781 Documentation improvements.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4922 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-11 19:07:14 +00:00
Ray Greenwell 460d826d91 Avoid calling the type constant for an event with only one type TYPE.
Follow actionscript convention and create a reasonable name for it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4919 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-08 01:35:01 +00:00
Ray Greenwell a5b132757b We don't need these methods, really.
They are freaking out asdoc.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4918 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-22 01:51:46 +00:00
Tom Conkling 148766903e created RingBuffer collection class
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4917 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-21 01:57:26 +00:00
Ray Greenwell 9cb8f380b0 Now you can have a simple Object hash that understands Hashable keys.
(Because it just uses a Map of your choosing under the hood.)
There is really no new functionality here, but it is neat, except for the one
stupid thing: keys get converted to Strings when iterating with a 'for' loop.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4916 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-21 00:29:04 +00:00
Ray Greenwell d70b867ddb Make null keys work with SortedHashMap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4914 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-20 21:21:44 +00:00
Ray Greenwell c90e8ef83d First pass at SortedHashMap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4913 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-20 20:20:04 +00:00
Ray Greenwell 62e8a39e52 Enable idle reporting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4912 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-19 20:00:36 +00:00
Ray Greenwell dd8fcfc0a7 Allow subclasses to translate the status if a nonstandard one is in use.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4911 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-19 19:14:47 +00:00
Ray Greenwell 2bf1c107d1 Added a simple utility method to initialize an object with properties specified
in an initObject. This is a fairly common practice in flash and let's go ahead
and use it sometimes, even though it's prone to runtime errors.
Our version of this has a defaults Object as well as another Object that can be
specified to mask properties from the initObject.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4908 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-13 23:25:29 +00:00
Ray Greenwell 73ba77af8e Boolean reduction.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4907 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-13 23:21:34 +00:00
Ray Greenwell 4a86621196 Added parseUnsignedInteger.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4906 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-13 23:21:04 +00:00
Robert Zubeck 901cb095ae Weakening the contract on Set.toArray(), to remove the non-modification guarantee from the
resulting array. Users requiring strong non-modification guarantees can manually do a deep or 
a shallow copy of the array, as appropriate for their task.




git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4905 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-10 20:35:45 +00:00
Ray Greenwell dd85d0047e Allow the currently registered ChatFilters to be retrieved.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4904 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-10 03:33:15 +00:00
Ray Greenwell 274811e8f6 Accept an optional Random for shuffle().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4903 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-06 03:34:59 +00:00
Ray Greenwell fcdace5589 Some method documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4902 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-05 02:25:44 +00:00
Ray Greenwell c42510b325 Another place where we call IDataInput's readBytes. Let's just
make sure we never pass it 0 for the length.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4901 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-05 02:11:45 +00:00
Ray Greenwell a920f02030 Found and fixed the "Mother Fucker of a Bug(tm)" that was causing
Zyraxxis to hork.
Deep within our streaming code, ArrayMask objects were being created with
zero length when streaming non-final arrays with a zero length. This tickled
a "feature" of Adobe's IDataInput code, which reads *all available bytes*
if you pass readBytes() a length of 0.
What's really annoying is that this worked fine if you were notified
of the zero-length array via a PropertySetEvent, because that event
would come in on its own frame and so if the array's length was zero then
there were no more bytes to read. But if you entered a game and had
to receive all the usercode properties at once, it booched.
There are clumps of my pulled-out hair all around my desk from that.
And: this is ultimately my own fault, as my old code didn't handle the
case of the passed-in ByteArray having 0 length.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4900 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-05 02:09:59 +00:00
Ray Greenwell 2b5933015e Some documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4899 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-04 03:24:52 +00:00
Ray Greenwell 1b054677c2 Allow ValueEvents to be cancelable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4898 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-04 03:20:26 +00:00
Tom Conkling 4ad889c106 properly set keyword properties on Set.as
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4897 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 21:43:10 +00:00
Tom Conkling 507f214016 whoops - added Set.as to svn
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4896 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 21:26:43 +00:00
Tom Conkling c5a557214b ISet -> Set
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4895 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 21:22:53 +00:00
Michael Bayne 635bb0a13f Track that we're switching servers so that the client can differentiate during
did logoff between a real logoff and a server switch.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4894 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 21:21:50 +00:00
Dave Hoover 289475b253 Keyword substitution.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4893 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 21:07:34 +00:00
Tom Conkling 9be9742398 added HashSet and ISet to Narya
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4892 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 20:42:19 +00:00
Nathan Curtis 362e506fd6 don't need insert - you can add values with ArrayUtil.splice()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4888 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-30 02:08:13 +00:00
Nathan Curtis 9ddea518fc added an insert method
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4887 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-30 01:54:51 +00:00
Robert Zubeck be0eaf6a22 Make it explicit in the function signature that we're just doing an
"Object == null" comparison. Otherwise the user might pass in an 
undefined, and expect a strict equality test.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4886 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 02:34:50 +00:00
Par Winzell 195f78376b Haha, there was already one in StringUtil. I was sure I'd checked...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4881 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-24 21:50:54 +00:00