Commit Graph

334 Commits

Author SHA1 Message Date
Ray Greenwell d5546a37fb Fixed suffix determination for message pluralization.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5359 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 23:19:56 +00:00
Ray Greenwell 6179c74b29 Utilize Util.equals() to compare ByteArrays.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5357 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 22:20:20 +00:00
Ray Greenwell e730991df9 - Make a copy of the values array to return to callers, so they can't
hose our internal data structures.
- some additional comments


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5355 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 19:31:36 +00:00
Ray Greenwell b0973478fd Extra comments.
Extra booch-checking.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5354 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 01:51:20 +00:00
Ray Greenwell 9d3ff0b44d If the server streams an array of enums, it will surely think they're final.
So we'd better do the same here.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5353 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 01:29:43 +00:00
Ray Greenwell 85a5cc1de1 Enum base class that does most of the right things.
(The beginning.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5351 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 01:22:14 +00:00
Jamie Doornbos cacd096f3b Reveal the contents of Dictionary objects in toString
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5345 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-27 00:42:03 +00:00
Ray Greenwell bc68cf5dba Documentation, love, and clarifications.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5344 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-26 20:18:54 +00:00
Ray Greenwell e2f30b395e Simplify a bit.
Rather than copy all the set levels to the level cache when a level is set,
just clear the cache and repopulate it when we look up a level.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5343 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-26 02:11:04 +00:00
Ray Greenwell 8abb5f96b0 Alas, it was too good to be true, and I had to track down and debug something.
Damn actionscript. "for" vs "for each" and each one uses (bla in foo), which
is also a statement in itself. That and the optional semicolons. I bet
the parser for the compiler was fun to write.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5342 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-26 00:53:21 +00:00
Ray Greenwell 9de956e067 Still untested, but I saw this bug while reading my checkin.
BRAINS!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5341 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-25 23:22:53 +00:00
Ray Greenwell e8521e3677 Log level configuration. Untested, but it should work!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5340 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-25 21:29:07 +00:00
Ray Greenwell b49d9a5e56 Added configureBridge().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5336 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-25 03:27:33 +00:00
Bruno Garcia f632356dfc Only go through getSuffix once, and don't call getResourceString more than necessary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5325 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-15 22:41:38 +00:00
Bruno Garcia 29204b385d If the suffixed message key for integers is missing, fall back to the unsuffixed key instead of banking on the ".n" suffix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5323 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-15 21:45:36 +00:00
Ray Greenwell 3e5a63c1bc Command: contains bind() for wiring events up commands, without having to
create var-args functions or make your existing functions varargs so that
they can react to events.
This might turn into more. I already did a bunch of impl and then KISS since
we don't use the advanced shit yet. It might be nice to tie this more
closely to CommandButton, et al.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5300 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-08 02:12:57 +00:00
Bruno Garcia 2b39fb9e49 Added pickRandom()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5235 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-16 19:38:03 +00:00
Ray Greenwell fc6d6350f4 Flash drives me nuts.
Doing a loop on a null object works:
   for (s in null)
But checking to see if a property is in a null object throws an error:
   (s in null)
They're so similar!

So, protect against the NPE.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5233 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-11 02:07:04 +00:00
Ray Greenwell b903087fa9 Crap.
My change to ClassUtil broke this when serializing
ByteArrays and such from a sub ApplicationDomain.
Jesus this stuff is annoying.
I have no idea why it's not the same Class when you
create a standard flash library class from within a sub AppDom.
But let's go ahead and check the object by name, then.
Hopefully this doesn't break something ELSE.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 23:12:17 +00:00
Ray Greenwell 77e00160fd Using appDom here booched the thane build.
Work around my issue another way, which is in some ways smoother: if the
object is a normal object from a normal class, get the class right off
instead of even doing the by-name stuff.
The appDom stuff could conceivably still be desired in the future, but
this will cover just about everything and we can always re-add this extra
business when need it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5230 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 21:08:47 +00:00
Ray Greenwell e8f69e0148 Comment clarification.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5228 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 20:55:58 +00:00
Ray Greenwell 8c17cb5b24 Take an optional ApplicationDomain on a few methods that create classes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5226 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 20:43:59 +00:00
Ray Greenwell aa5f995ba1 Added trimBeginning(), make trim() use the other two.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5216 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-02 00:35:53 +00:00
Tom Conkling c648bfb346 StringUtil.trimEnd()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5215 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-01 23:12:45 +00:00
Ray Greenwell 85f269f3e6 Totally reasonable fix, but this may break small things, so keep an eye out.
If the arg specified is null, do not wrap it into an array! It prevents you
from being able to call a function and falling back to the default value
for the argument. Instead, only wrap non-null.
If you really do want to pass null as your arg, you'll have to wrap it in
an array.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5197 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-26 22:41:05 +00:00
Nathan Curtis 3e8061359f Ray points out that there is a nifty ValueEvent class right there in com.threerings.util.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5196 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-24 20:39:38 +00:00
Ray Greenwell f3abe8507b Wrapped -> Boxed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5195 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-23 21:09:14 +00:00
Nathan Curtis 0d93214e22 This has received the Ray seal of approval, and may now live amongst the other utilities in Narya.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5194 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-23 20:24:42 +00:00
Par Winzell b88cee2be7 Stop switching different source files into Environment.as's place. Instead build tiny swc's with the player-specific Environment.as and the thane-specific one. Then compile naryalib.swc with one of these tiny swc's as an external library. When we compile the final executables we'll do a inclusive linking to get the right implementation into place.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5182 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-13 03:39:26 +00:00
Tom Conkling 6c34b9e3ed ArrayUtil.create()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5148 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 18:22:24 +00:00
Michael Bayne 8426349a19 Ze lines must be wrapped lines at 100 columns or zere vill be punishment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 09:34:38 +00:00
Bruno Garcia 783ceaf951 Added optional maxLength param to validateAndEncode.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5143 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 02:05:04 +00:00
Ray Greenwell 821760366f On the mac, using "open" to run a swf has the disadvantage of obliterating the
current directory. The current directory is set to /.
So we can't read parameters.xml out of the current directory and we can't pass
the current directory in, because if we could do that we wouldn't need parameters.xml!
GAH! So read parameters.xml from the same directory as the SWF, because
that's the only thing we can reliably know about.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5133 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-25 03:16:56 +00:00
Nathan Curtis 85b3b3114d Include the dispatcher here so we know if it was null or unresponsive.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5102 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-16 17:29:16 +00:00
Ray Greenwell 8abc76a5fc Changed preferredWindowOrTab parameter to be a String which is the target window/tab name.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5086 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-12 23:38:53 +00:00
Ray Greenwell 714ab29a88 Occam's razor. toString()ing an int in hex format is built-in to flash.
Didn't touch other stuff.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5085 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-12 23:33:16 +00:00
Par Winzell c4b95d953f This isn't used, and I'd rather not have to implement it pointlessly in Tamarin.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5079 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-11 21:44:51 +00:00
Par Winzell 513ad0fe32 Only do cycle checking for actual pointers -- otherwise two of the same integers or strings in sequence trigger it, which is briefly amusing but ultimately quite undesirable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5078 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-11 21:44:23 +00:00
Par Winzell 898c62a449 Two hexdump methods for low-level debugging that have been extremely useful to me this evening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5076 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-11 05:37:50 +00:00
Tom Conkling bf222d2d39 Properly handle StringUtil.parseInt("0", 0)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5066 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 18:58:42 +00:00
Jamie Doornbos a841233609 tidied up build.xml with Zells permission, which exposed a problem with the Environment switcheroo, also fixed
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5055 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 00:03:55 +00:00
Par Winzell 18d4136e3a Simplistic support for cyclic references so this method can be used without fear.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5053 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 19:45:39 +00:00
Par Winzell b174219540 We now build a subset of Narya for execution on Tamarin, the server-side AS3 VM.
- We use the ASC compiler, which works quite differently from compc/mxmlc. It doesn't attempt any mapping between class hierarchy and directory structure. You feed it source, that's it. This compiler is under continuous development, and the one shipped in Flex SDK 3 is buggy, so we supply our own in lib/asc.jar for the time being.
 - Since much of Narya relies on classes that don't exist on Tamarin (e.g. DisplayObject), we have to isolate a specific subset of source. Right now that's done ridiculously explicitly as a list of class files, in etc/asc-files.txt. In the long run we will want to resolve this more elegantly, but there are no trivial solutions at hand.
 - We have not implemented the full flash.utils.describeType() for Tamarin, but rather a subset of its functionality: one method to see if one type derives from another, and another method to extract the public variable names in an object. The environment-specific code has been isolated to com.threerings.util.env.Environment, and build.xml simply copies either Environment.as-tm or Environment.as-fp into place depending on what it's targeting.
 - The ASC compilation links against lib/builtin.abc, which supplies information about core classes such as Object, Array, etc, and lib/thane.abc which is our homegrown emulation library containing e.g. flash.net.Socket and other things we need that's not part of the open-source code Adobe donated to Mozilla, but rather still in their proprietary Flash Player code.

I'm committing thane.abc and builtin.abc directly now, but they will shortly be built by the Thane project and published as maven whatnots. We could auto-publish lib/asc.jar too, but I think we may want more explicit control over how we version that.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5045 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-07 15:33:07 +00:00
Par Winzell 4442cb7bc4 Try a different way of assessing the plainness of an object that doesn't rely on describeType(). This could potentially break games and such in somewhat non-obvious ways. I've tested a number of things locally but the next step is www.dev.whirled.com.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5044 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-07 00:34:23 +00:00
Tom Conkling f6e95780f5 created KeyboardCodes. Most of these constants are mysteriously missing from flash.ui.Keyboard, where they're supposed to be.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5028 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-29 00:58:39 +00:00
Ray Greenwell 8b673c08aa Layabout checkin: asdoc cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5023 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 21:54:56 +00:00
Ray Greenwell 7cd7cc48cb Swap the order of the generatorFn and callbackFn args.
Made the generatorFn optional, in case the source values are already ready-to-go,
although 99% of the time it's going to be better to use the generator function
to get things ready to go because MultiLoader will take care of figuring out
the sources structure.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5022 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 21:47:00 +00:00
Ray Greenwell b65bdd47e1 Use a Timer instead of ENTER_FRAME.
This is a potentially more dangerous change, but nothing
seems awry. Eyes peeled!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5017 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 18:17:42 +00:00
Tom Conkling 8311762471 I blame the beer
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5007 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-19 01:39:55 +00:00
Tom Conkling c6d763127d StringUtil.parseBoolean
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5006 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-19 01:32:21 +00:00