Commit Graph

25 Commits

Author SHA1 Message Date
Ray Greenwell 3825cf2e68 Allow EZGames to have custom configuration options specified as XML.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@240 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-13 00:50:14 +00:00
Michael Bayne 5b77f2f95d Added support for handling games with multiple rounds.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@237 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-11 07:59:23 +00:00
Ray Greenwell 66a7d642df The temporaray 'configData' is now renamed to 'gameMedia'.
Brought in 'name' from MsoyGameConfig, because it's useful.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@230 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-06 19:26:42 +00:00
Michael Bayne d77b8363f7 Added a server managed notion of which client is controlling the game.
Doing this on the client, while theoretically possible, is more complex. We
have a server, we use it to provide commonly needed services, the assignment of
a single client to control the game is a commonly needed service. This also
matches the way other services like turn change and game start and end are
implemented.

A side note: the client-side code was not properly handling disconnected
players, which the server code properly handles.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@224 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-04 20:05:58 +00:00
Michael Bayne 33f55d5a8d Header patrol. Please be sure to use the header in lib/SOURCE_HEADER when
creating new source files.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@209 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-24 00:37:33 +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 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
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 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
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 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
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
Michael Bayne cdbc9dcfb0 Import Hashable, add needed override.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@97 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-05 01:03:58 +00:00
Michael Bayne 451218a1a4 Updated using the code generator.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@96 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-05 00:47:20 +00:00
Ray Greenwell 1459306393 We need to send the tick out with a different message identifier
because otherwise the EZGameController will try to unmarshall the value.
The marshalling/unmarshalling is purely clientside, the server doesn't
understand how to do it, so it must dispatch a different event that just
contains a nice normal integer.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@85 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-02 21:11:10 +00:00
Ray Greenwell 6472cf6f80 Added tick services to EZGame.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@82 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-02 07:39:31 +00:00
Ray Greenwell 854986f4fc Commented out upstream methods for classes that will never use them.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@71 c613c5cb-e716-0410-b11b-feb51c14d237
2006-09-11 20:19:25 +00:00
Ray Greenwell 77c51c95d8 For now, the EZGameConfig contains a String called configData that
simply contains the game url or classname.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@51 c613c5cb-e716-0410-b11b-feb51c14d237
2006-08-23 21:17:25 +00:00
Ray Greenwell 70b0d759c0 Moved the serverless game stuff out of msoy and back into the vilya library.
We'll be using this in game gardens, at least.
Note that the actionscript side currently doesn't compile because of
limitations in building a .swc file, but that'll be fixed soon.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@47 c613c5cb-e716-0410-b11b-feb51c14d237
2006-08-23 02:28:36 +00:00