Commit Graph

170 Commits

Author SHA1 Message Date
Michael Bayne 725f656197 Fixed a bunch of type safety bits pointed out by the latest version of Eclipse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 12:58:51 +00:00
Michael Bayne 1b29e41129 BootstrapData.services is now a plain old array.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5256 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 18:29:06 +00:00
Jamie Doornbos 874289086a Completing the triumvirate or adapters
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5234 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-15 03:43:56 +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
Jamie Doornbos 8d192dcf70 Minor changes to prevent warnings if an object is destroyed before the subscription completes
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5190 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-23 18:45:29 +00:00
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
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 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
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 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
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
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
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
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
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
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
Ray Greenwell 376f5e680a Sorry, Log, no more free ride for you.
Putting you at the top level screws up use of another Log class.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4874 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-13 09:30:23 +00:00
Michael Bayne a34e500ea6 Added startTransaction() and commitTransaction() to the InvocationDirector so
that EZGame can batch up state change requests which are all invocation service
requests.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4844 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-17 21:33:05 +00:00
Michael Bayne 6b46554eaf Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4843 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-17 21:06:17 +00:00
Michael Bayne 810969f6f9 Pass a message along with a FailureResponse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4819 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-22 01:15:39 +00:00
Michael Bayne 9a150ebcda Some widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4818 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-22 01:12:02 +00:00
Robert Zubeck 59086147e6 A signed 64-bit integer can be stored as two 32-bit integers in Actionscript, but converting
them to a single number becomes inconvenient for values larger than an single int, and tricky 
when the value is negative (i.e. in two's complement split into two words, with sign bit only
in the high int). 

Instead of splitting a long into two ints, we store it internally as a byte array that corresponds 
exactly to Java's serialized version (sequence of eight bytes, high byte first), and we provide 
accessors to convert to and from Actionscript numbers. This makes Java Long values readable in 
Actionscript, and vice versa.

Unfortunately, Actionscript does not have a native 64-bit integer - the closest equivalent is the 
Number class. Since this is a double float with a 52-bit mantissa, very large long values will 
suffer precision loss during conversion. 




git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4811 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-10 20:49:03 +00:00
Michael Bayne affca34556 Pipe down there little fellas. There seems to be no easy way to not show debug
logging on the console so let's not be uninformatively verbose.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4803 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-02 18:48:45 +00:00
Michael Bayne 962326fcaf Revamped the way BodyObject.location is tracked. Now we use an object which can
be extended to contain the sceneId by Whirled (Vilya's Whirled, though also
Whirled Whirled by extension) so that we don't end up with problems where
BodyObject.location changes but BodyObject.sceneId remains stale. This won't
impact Yohoho because the Yohoho client is always in a scene, it uses a
separate mechanism to track games, whereas Whirled's natural usage is to move
between scenes and non-scenes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4779 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-21 00:46:25 +00:00
Michael Bayne 10f606be27 Regenerated services. TypedArray is imported even though it's not used because
our code generation stuff is not the ultra-sophisticated, but we'll cope.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4764 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-13 23:54:25 +00:00
Michael Bayne 27c11ce393 Oops, missed this guy.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4763 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-13 21:58:09 +00:00
Michael Bayne 77e3f22d90 Added moveToServer() which does pretty much what it says. Boy I love writing
everything in two languages. Especially when one doesn't support inner classes
and has non-C syntax just to make life easier for parser writers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4762 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-13 21:57:55 +00:00
Ray Greenwell 860c682585 Implemented transactions in actionscript.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4739 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-18 19:27:13 +00:00
Ray Greenwell e7379cd41a Fixed a bug: the 'old value' of some events were not getting set
because the oldValue variable didn't contain UNSET_OLD_VALUE, but
rather null because it was set that way in the constructor.
Additionally, some of the constructors would only set the old value
if it wasn't null, which is also wrong because an old value can
easily be null.

We could probably just rip apart most of this code, because for
the most part events are not constructed on the client anyway. We might be
able to get away with just making all the event constructors 0 arg, and
then we don't have to worry about UNSET_OLD_VALUE, we just always apply.
But let's try to be more similar to the Java code, and so now I emulate
multiple constructors by checking how many arguments were provided and
not configuring event-specific data if it wasn't actually provided
to the constructor.

Note: none of this would be necessary if we could just declare a constructor:

public function AttributeChangedEvent (
    targetOid :int = 0, name :String = null, value :Object = null,
    oldValue :Object = UNSET_OLD_VALUE);

But you can't use constants as the default value in a parameter list
(commence being boggled) so we have to use null instead of UNSET_OLD_VALUE
as the default value, and then check the 'arguments' special variable to
see if someone passed in null or whether it came from the default value. Aiya.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-04 22:00:48 +00:00
Dave Hoover f56c2ab370 Let's do keywork substitution on the actionscript; it's got all those purty $Id$ tags, too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4652 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-07 00:25:28 +00:00
Ray Greenwell c4fac45b9c Created a ServerMessageEvent that is just like a normal MessageEvent
except that messages will never leave the server. If generated on a client,
they'll go to the server and be processed like a normal event there
(event handlers will be called) but the event will not leave the server and
be sent to subscribing clients.

Changed the ManagerCaller used by PlaceObjects to use ServerMessageEvents.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4648 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-06 19:00:41 +00:00
Ray Greenwell 546c44c600 Stop trying to recover from this error (it doesn't work), but try logging
the event target.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4644 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-04 21:40:03 +00:00
Ray Greenwell d389b22cd5 Try ignoring the error...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4639 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-03-30 22:03:59 +00:00
Ray Greenwell 77ff647b1a Maybe a stack trace can tell us more about our mysterious error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4638 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-03-30 21:34:07 +00:00
Ray Greenwell a74e7493e9 Use Log.dumpStack() where the Java source used Thread.dumpStack().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4633 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-03-22 06:10:19 +00:00
Nathan Curtis b87abd9c95 oh yeah... ant compile doesn't build the as sources... I wondered how I got this port right with no
errors on my first try. 


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4632 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-03-22 03:43:36 +00:00
Nathan Curtis 8f5f52ae1b newly ported, untested (but compilable) SafeSubscriber
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4631 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-03-22 03:27:57 +00:00
Ray Greenwell 31e6bbee01 Automatically unwrap args in a MessageEvent, like we do in other events.
The way this all works is: when you send a primitive to the server, you
must wrap it up yourself, because there's no way for flash to distinguish
between the integer 3 and the floating point value 3.0.
But when it comes from the server, it's all wrapped up in a very specific
type and we can easily unwrap it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4623 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-03-08 21:01:33 +00:00