Commit Graph

200 Commits

Author SHA1 Message Date
Ray Greenwell 9e8dce3619 EZGame API breakup. Possibly a little more to come.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@205 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-22 03:44:12 +00:00
Robert Zubeck fa7bf73ddc Moving host coordinator into vilya.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@198 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-19 23:21:28 +00:00
Ray Greenwell e8ada1ac88 Added setImmediate(), made it so that old un-recompiled games are
essentially calling setImmediate() when they call set(), since set() used
to be immediate.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@197 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-19 21:55:10 +00:00
Ray Greenwell 38016c0ab0 - The server should apply the property set immediately, not wait until
the event trundles through the queue, especially since the 'test' was
  being done immediately.
- Simplified some stuff on the server.
- Fixed up the test, as EZgame arrays will auto-grow.
- Do not set the property immediately on the client! Dangerz! We will add
  a new function for that, so that set() behaves like testAndSet() without the
  test, and set() behaves like setImmediate() without the immediate.
  (And there's no such thing as test and set immediately.)


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@196 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-19 21:12:43 +00:00
Robert Zubeck 83e02730cf Fixes for property setting via atomic test-and-set:
- Moved property testing, so that it happens before any propertySet events are
  dispatched. In the previous version, testing happened while processing the
  set event on the server - but since by that time client events have already been 
  sent, it introduced the possibility of short-lived inconsistencies between client 
  and server data models.   

- Introduced a separate EZ API call for test and set - not only does it perform
  the test, but unlike regular set, it does not cache the new value ahead of time. 
  Instead the new value will have to arrive from the server, at some future point.

- Trimmed PropertySetEvent and other handlers back down - they don't need to
  carry any of the test info around, after it's already been performed. Also 
  cut redundant testing on the clients.




git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@195 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-19 19:40:09 +00:00
Robert Zubeck bdfcd156ab For EZ property sets, added a setter that performs an "atomic" test-and-set:
it's atomic in the sense that a single server event will test the variable, 
and only set it if the previous value was null (i.e. didn't exist). 
This allows for a level of elementary synchronization between the clients.

The new function on EZGameControl is:
  _gameCtrl.testAndSet (propertyName, newValue[, index])

I hoped to generalize this to test against arbitrary values, but that's 
significantly harder, since properties accept numerous types as values,
and those can have different representations on the client and the server.
So it remains a check against null until we need to generalize it. :)





git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@193 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-15 21:55:49 +00:00
Ray Greenwell 720a409185 playerIdx -> playerId
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@192 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-15 01:53:17 +00:00
Ray Greenwell 2c89082a2e Bugfix: hadn't tested this with seated games. :)
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@191 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-15 00:05:11 +00:00
Ray Greenwell ee871c3f2f Occupant events.
Undocumented, I'm sure we'll change some things around soon.
Fixed a few bugs, too.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@190 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-14 23:50:33 +00:00
Ray Greenwell c8ee960c0d Whoops! Forgot to wire one of the new functions up!
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@189 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-14 03:45:12 +00:00
Ray Greenwell a8521ecb84 Use some of my acquired special knowledge.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@188 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-14 03:44:36 +00:00
Ray Greenwell 57facfd1a2 Moved adapter functions for backwards compatibility to their own class.
That way, when a function is changed the compiler will tell us about
any matching change we may need to make to WorldGameControlBackend.
Otherwise, the override function that may be present in the world version
may shift to overridding the adapter function.
It's also just cleaner to move these adapter functions to their own class.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@187 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-14 03:09:55 +00:00
Ray Greenwell e5d5480e9b EZGameControl updates:
- switched everything to be based on playerId instead of index
  (which doesn't make sense for a party game.)
- started adding new functions
- backwards compatible with all old games!


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@186 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-14 01:59:29 +00:00
Ray Greenwell de354c0e7b Did away with PartyGameConfig, added getGameType() to GameConfig.
Changed the names of the 3 standard game types, but I could be convinced
of better names:

SEATED_GAME: normal match-made game, a game with a set list of players that
             does not change.
SEATED_CONTINUOUS: the game starts immediately, but people join the room
             and then choose a place to sit to become a player.
PARTY: no seats, anyone that enters is a player.

Also, changed SEATED_CONTINUOUS to create an occupants array and auto-sit
the creator, since I'm pretty sure we'll want to show seating in the lobby
for those types of games (but it actually does neither right now, code
needs to be written either way, depending on UI decisions.)


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@182 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-13 00:50:29 +00:00
Robert Zubeck 400389ca03 Adding two dictionary-related functions: checking a word against a dictionary,
and retrieving a set of language-specific letters. This is just a transient checkin, since 
it only pushes data both ways through the ActionScript/Java interface ("small step for 
mankind, huge step for me" kind of a thing ;). Word lookup logic will be coming next.



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@181 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-12 23:32:37 +00:00
Michael Bayne 7a36e3a858 Regenerated ActionScript listener marshallers.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@180 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-12 21:52:20 +00:00
Ray Greenwell b63c756a1f Wrapped values are now automatically unwrapped at a lower layer.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@179 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-12 19:57:46 +00:00
Michael Bayne 62808c9fc6 We got more sinkin' up to do man. Yeah man, it's mighty groovy.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@178 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-11 03:33:04 +00:00
Ray Greenwell f9dcdd0627 Have the TableDirector place a party game creator in the game, rather
than forcing them from the server.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@175 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 20:53:05 +00:00
Ray Greenwell bde4a67bed Backend changes to support party games.
This will force us to migrate soon to a OID-based player indexing system.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@172 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 03:32:55 +00:00
Ray Greenwell 729335a4a5 The table system now supports the party game types better.
The creator of a party game isn't joining, but I think that's a problem
with the msoy client...


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@168 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 01:36:06 +00:00
Ray Greenwell e6c3bc3dd2 Fixed doc.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@167 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 01:32:35 +00:00
Robert Zubeck f8bf896e22 Quick fix to how objects are tested before being sent in a message.
We used to compare them against the Object class, but that doesn't work 
well in the presence of multiple application domains. So instead we
check for the presence of parent classes.



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@166 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-09 21:42:13 +00:00
Ray Greenwell 0c1044b651 A little UI love for the # of players slider.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@164 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-02 22:15:48 +00:00
Ray Greenwell a8108fdaa0 Extend from Canvas so that the chat overlay scrollbar works.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@160 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-29 00:14:51 +00:00
Ray Greenwell 570a8267d2 - Retain a reference to our panel in didInit().
- Cleanup.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@159 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-28 21:47:34 +00:00
Ray Greenwell 054c4469f3 Changes to match alterations to abjectscript's StreamableArrayList.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@149 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-22 19:59:06 +00:00
Ray Greenwell f347723abe Changes stemming from a changed MediaContainer.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@148 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-18 00:37:54 +00:00
Ray Greenwell 29bec533d8 Documented the events currently being dispatched.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@147 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-12 23:10:30 +00:00
Ray Greenwell ae26fb8bcd Fill out PropertySetEvent's toString() for easier debugging.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@146 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-12 19:15:46 +00:00
Ray Greenwell ba5b931adc Fixed some wee bugs:
calling setProperty() with an array was encoding it as byte[][], even when
an index was passed in.
Messages of arrays were also encoding as byte[][] for the server, even though
the server doesn't care about messages.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@145 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-12 19:14:22 +00:00
Ray Greenwell a6de2c9bc6 Added isConnected().
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@144 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-10 19:51:49 +00:00
Andrzej Kapolka ee8f636d7e Allow subclasses to create custom backends.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@143 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-10 06:16:37 +00:00
Andrzej Kapolka 9695c3ef3a Moved default field deserialization code into separate method to allow
subclasses to read additional fields.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@142 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-09 21:23:38 +00:00
Ray Greenwell 6d2ecb8f67 Don't generate a TypeError if we're not in an EZGame environment.
It may be well worth adding an isConnected() method that can be used to test
whether the EZGame stuff is connected or whether we should just show
demo graphics or something.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@141 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-08 23:37:11 +00:00
Ray Greenwell 08d317b329 Added rescued documentation from the old EZGame class.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@140 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-06 01:58:43 +00:00
Ray Greenwell 1078ac796f Buildfix.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@139 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-06 01:57:17 +00:00
Ray Greenwell 00e2c45f01 Mostly kinda fixed up keyboard issues for EZGames.
They can add their keyboard listeners directly to the GameControl object
to receive global key events.

There are strange focus weirdnesses on the flex side- sometimes you have
focus with no focus highlight and sometimes you don't have focus and you
do have the highlight. Punting, rather than spending more hours on this.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@138 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-06 01:44:05 +00:00
Ray Greenwell 3b08974f73 Revamped EZGame to work over the security boundary.
Now, instead of implementing "Game" and having the EZGame object assigned
to you, you create it yourself using your top-level component.

You must register listeners manually, and keyboard focus is currently an
issue that I'm working on.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@137 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-05 18:59:08 +00:00
Ray Greenwell bbfcf85775 Remove giant obnoxious game-blocking chat display.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@134 c613c5cb-e716-0410-b11b-feb51c14d237
2006-12-08 03:43:37 +00:00
Ray Greenwell 4536556ba9 Removed debugging.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@133 c613c5cb-e716-0410-b11b-feb51c14d237
2006-11-30 23:42:27 +00:00
Ray Greenwell 52febf265b Allow the TableManager to be configured to create subclasses of Table.
Commented out unneeded flash client code in Table.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@131 c613c5cb-e716-0410-b11b-feb51c14d237
2006-11-17 23:24:14 +00:00
Ray Greenwell ccb530d8c7 Cookie fixes.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@124 c613c5cb-e716-0410-b11b-feb51c14d237
2006-11-15 20:47:57 +00:00
Ray Greenwell cff4238b3e Updates to EZGame to allow games to store 'user cookies'.
Then intention is that other games besides EZGame may use this as well,
so it's semi-separated, but for now it's part of EZGame.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@123 c613c5cb-e716-0410-b11b-feb51c14d237
2006-11-15 03:01:49 +00:00
Ray Greenwell a4ae0dd2dc Regenerated with new templates.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@122 c613c5cb-e716-0410-b11b-feb51c14d237
2006-11-15 02:56:12 +00:00
Ray Greenwell 515f2d6be5 Implemented Collections.shuffle().
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@118 c613c5cb-e716-0410-b11b-feb51c14d237
2006-11-01 03:56:12 +00:00
Ray Greenwell 2717fd3b24 Allow tables to be started (by the creator) when there are at
least the minimum players present.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@106 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-06 02:13:20 +00:00
Ray Greenwell 3caec3d8bc New method sig to match auto-generated stuff
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@105 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-06 01:52:17 +00:00
Michael Bayne 0f313b908a Regenerated with proper InvocationService.InvocationListener handling.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@104 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-06 01:49:08 +00:00
Ray Greenwell 7e3e8b981d Regenerated more actionscript service business.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@103 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-06 01:40:52 +00:00