Commit Graph

542 Commits

Author SHA1 Message Date
Jamie Doornbos c9772f0168 Class to make it easy to safely subscribe to and access multiple DObjects
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5188 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-18 22:22:35 +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
Jamie Doornbos 443ad8e139 Keep track of the client object id in the agent object (this will allow WhirledGameManager.validateUser to check out a dispatch from a bureau client)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5152 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-05 00:16:46 +00:00
Jamie Doornbos 69451c5682 Implemented bureau authentication
* Token member for bureaus
* Exception type for failed authentication
* Authenticate function
* Bureau id to credentials
* Fixed bad constructor and toString


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5149 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-02 04:38:01 +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 22e7ba9a1a Added a note as to why this isn't called ResultAdapter.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5137 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 01:48:42 +00:00
Jamie Doornbos c8763c245a Added serverClass field to bureau agent objects. Also renamed redundant "agentCode" to just "code"
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5136 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 22:33:15 +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
Jamie Doornbos 684d6f9efc Removed some unused imports, preparing for addition of more vilya/whirled dependencies to abc build
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5123 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 05:17:02 +00:00
Michael Bayne 64f68e6c63 As much fun as it is to have a function named fuckingCompiler(), let's have the
services that require the use of an otherwise unreferenced class or symbol take
care of referencing that class or symbol themselves, so that if you use
LocationDirector, say, all the needed classes are properly included.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5120 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 15:17:21 +00:00
Michael Bayne da9d8701c2 Sometimes my mind drifts away and forgets that I live in a world where I have
to write everything in two languages, and now have to take special care that
things written in one of those languages works properly in a wholly separate
and somewhat limited deployment environment. Ah such sweet forgetting.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5119 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 14:12:10 +00:00
Ray Greenwell 74791b0493 Drive by change: use for each loops.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5116 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 06:27:15 +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
Par Winzell fea7c2f8f7 Give each client a username so they don't step on one another's feet. We may want to come up with a BureauName or somesuch.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5092 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-14 01:55:38 +00:00
Andrzej Kapolka 31f1a0af16 Added missing field.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5091 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-13 23:21:34 +00:00
Par Winzell 151a021f65 Configure the AgentObject from the stream.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5088 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-13 16:39:52 +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
Par Winzell 6b6a66a669 ... and back again, because apparently you can't initialize static members in, you know, static code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5072 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-10 00:10:56 +00:00
Par Winzell 2af3ff6dc8 We can still initialize this statically, thanks Ray.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5071 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 23:35:56 +00:00
Par Winzell 8ca4f9ca47 Work around a bug in Tamarin. Sorry for the ugly. Hopefully it's temporary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5068 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 23:03:39 +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
Jamie Doornbos bc35598a2e first pass at converting the bureau client to actionscript. now to find a way to run it...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5054 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 23:01:46 +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
Jamie Doornbos c112a5c982 Regenerated narya services with new GenServiceTask, actionscript and java
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5051 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 19:17:34 +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
Jamie Doornbos 430b23a5bb regenerated services, notice actionscript stuff has the most changes
(I just noticed marshallers are importing themselves but the flash compiler 
doesn't seem to mind, so committing now)



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5043 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 22:54:58 +00:00
Par Winzell aeafaccd66 I think this depencency on Stage is obsolete now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5040 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 19:45:47 +00:00
Par Winzell 971ec75567 Some manual unused-import removal. I think one or two of these might need further Jamie lovin' but I want to get ABC compilation running.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5039 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 17:12:42 +00:00
Par Winzell 15c16a40b6 Running genreceiver and genservice with Jamie's spiffed-up generators.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5038 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 17:03:54 +00:00
Par Winzell 5cae3fb3a3 This is no longer useful to us.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5034 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-01 00:00:27 +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
Ray Greenwell b367372dc6 Gah, I tried to abort the last commit so I could make this change,
and instead my checkin message got mangled.

*clearing throat*
..So our old way of doing things was pointlessly waiting a frame to handle
network events.
We also ran object subscribe/unsubscribe requests through the same queue,
and now those are processed immediately. Everything seems ok, but let's
keep an eye out.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5016 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 18:07:59 +00:00
Ray Greenwell 19831db930 Stop waiting for ENTER_FRAME to process incoming messages.
This was residual from the initial conversion from Java, but I don't think
it's very necessary on the flash side, and Zell is working to decouple
the presents layer from flash-player specific classes and events like
ENTER_FRAME.
So now we just process everything immediately.
I did some tests, it seems that the flash player dispatches ENTER_FRAME,
then it dispatches any network events, then the frame is rendered.
So our old way of doing things was pointlessly 


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5015 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 18:04:50 +00:00
Ray Greenwell cd9126b55c - Proper casting.
- Handle the common case first.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5013 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 17:32:38 +00:00
Ray Greenwell 5b1b22b955 Removed cruft that long ago was promoted to its own file.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5009 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-22 17:59:52 +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
Tom Conkling ab02c0ee30 StringUtil.parseNumber
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5005 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-19 01:06:41 +00:00
Tom Conkling 3b863e30fa Per Ray's suggestion, this returns undefined, rather than null, if the object is not found
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5004 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-17 19:14:42 +00:00