Commit Graph

65 Commits

Author SHA1 Message Date
Ray Greenwell ef70bd5752 Comment spelling fix.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@461 c613c5cb-e716-0410-b11b-feb51c14d237
2007-10-23 01:23:11 +00:00
Ray Greenwell e8bd79d1e3 Start the game immediately if the user specifies to restart in 0 seconds.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@450 c613c5cb-e716-0410-b11b-feb51c14d237
2007-10-15 18:28:40 +00:00
Michael Bayne a70048dfde Don't start the game while we're still initializing the manager. Let the
manager finish the startup process and then call startGame().


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@448 c613c5cb-e716-0410-b11b-feb51c14d237
2007-10-10 03:32:03 +00:00
Robert Zubeck f6b716c4ea Reset the round number to zero before each EZ game (in case the player keeps restarting the
game without quitting it). This also ensures they will get a fresh RoundStarted event at the 
beginning of each new game.



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@447 c613c5cb-e716-0410-b11b-feb51c14d237
2007-10-10 00:52:26 +00:00
Michael Bayne 70ea63f6cb Un-negate the round id if a game does decide to endRound() first and then endGame().
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@446 c613c5cb-e716-0410-b11b-feb51c14d237
2007-10-09 23:49:02 +00:00
Michael Bayne 388c616b40 Reset EZ games to PRE_GAME after they end so that they can be restarted.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@418 c613c5cb-e716-0410-b11b-feb51c14d237
2007-08-24 23:45:47 +00:00
Michael Bayne 74665f1663 Added EZGameControl.restartGameIn(seconds).
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@416 c613c5cb-e716-0410-b11b-feb51c14d237
2007-08-23 23:19:51 +00:00
Michael Bayne 71f2a1442c Added setWinners().
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@415 c613c5cb-e716-0410-b11b-feb51c14d237
2007-08-23 23:10:02 +00:00
Michael Bayne d3cc74bc0d Tidying.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@405 c613c5cb-e716-0410-b11b-feb51c14d237
2007-08-21 21:49:41 +00:00
Par Winzell e386d6c3a0 Add an index, document index use for Depot operations. Do you think this is worthwhile? We should really just about never see a non-indexed query during normal production use and one way to maintain that discipline is with a comment line like this.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@399 c613c5cb-e716-0410-b11b-feb51c14d237
2007-08-07 18:05:44 +00:00
Michael Bayne 12130830e7 Don't need legacy ConnectionProvider support here, so nix it.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@385 c613c5cb-e716-0410-b11b-feb51c14d237
2007-07-26 20:39:27 +00:00
Par Winzell 7dea421cca Depot implementation of the Game Cookie persistence - hopefully schema compatible with the old version.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@381 c613c5cb-e716-0410-b11b-feb51c14d237
2007-07-26 20:20:07 +00:00
Michael Bayne a78c1a35d9 Exception not needed.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@347 c613c5cb-e716-0410-b11b-feb51c14d237
2007-07-05 19:54:12 +00:00
Michael Bayne 4628b8fdff Move UserIdentifier up to GameManager where it can be used by other services.
Revamped the way the GameCookieManager does its business.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@346 c613c5cb-e716-0410-b11b-feb51c14d237
2007-07-05 19:50:33 +00:00
Michael Bayne 1a21229cd4 Remove the cookie when the player leaves the room, not necessarily when their
game ends. We may need their when the game is not in play. playerGameDidEnd()
was removing based on player index rather than playerOId which was is correct.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@341 c613c5cb-e716-0410-b11b-feb51c14d237
2007-07-03 02:10:20 +00:00
Michael Bayne b7e78fa8ac Allow the GameCookieManager to be initialized for local operation using Java's
preferences system to store cookies so that cookies will work in the standalone
test environment.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@340 c613c5cb-e716-0410-b11b-feb51c14d237
2007-07-02 20:39:41 +00:00
Michael Bayne 33fbff4aba getPresentPlayer() fails after the game is ended because _playerOids is cleared
out. Use the caller's name instead.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@337 c613c5cb-e716-0410-b11b-feb51c14d237
2007-06-28 06:37:17 +00:00
Dave Hoover 6b1066169f Tabs -> spaces
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@331 c613c5cb-e716-0410-b11b-feb51c14d237
2007-06-26 00:07:57 +00:00
Michael Bayne 93a049a986 Let's have our dictionaries gzipped.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@304 c613c5cb-e716-0410-b11b-feb51c14d237
2007-05-28 01:53:55 +00:00
Michael Bayne 211e161604 Load our word lists from the classpath.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@303 c613c5cb-e716-0410-b11b-feb51c14d237
2007-05-24 00:26:29 +00:00
Michael Bayne bf47702336 Some DictionaryManager cleanups. It was doing everything on the invoker thread
when it should have been communicating results back on the dobj thread. I don't
particularly like the singleton usage here as one has to just "know" that a
server that uses EZGame services must call DictionaryManager.init() whereas all
of our other server services are initialized in a FooServer class that
corresponds with the group of services in question. Really we should use the
same FooContext system that we use on the client to allow services to be
properly mixed and matched.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@302 c613c5cb-e716-0410-b11b-feb51c14d237
2007-05-24 00:13:51 +00:00
Michael Bayne 8bcc05be89 EZGameConfig can create its controller from the classname provided in the game
definition as a sensible default behavior.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@299 c613c5cb-e716-0410-b11b-feb51c14d237
2007-05-14 23:36:26 +00:00
Ray Greenwell 2aa46a1572 Omit this class from 'genascript' generation, as the actionscript side does a special thing or two.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@298 c613c5cb-e716-0410-b11b-feb51c14d237
2007-05-08 20:18:44 +00:00
Michael Bayne 7538ddcc7f Hold on to your seats kids, it's another installment of "A Boy and His
Blowtorch". Refactored GameConfig and the EZ game framework, cleaning up some
old cruft from GameConfig (which will break other projects and which I'll fix
ASAP) and moved the XML based configuration system from ToyBox into EZGame.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@286 c613c5cb-e716-0410-b11b-feb51c14d237
2007-05-01 22:26:25 +00:00
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
Michael Bayne 0306b072df Fixed decoding problem in GameControlBackend, switched to varargs in manager.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@235 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-11 06:37:03 +00:00
Michael Bayne 13b8913d5f Not all games are turn games. Let's not require that an unasked-for and
arbitrarily assigned turn holder be the one to end the game.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@234 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-11 02:31:35 +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
Ray Greenwell e192d7b24a Cookies can be retrieved for any occupant.
Fix potential for NPE (passing null to our UserIdentifier) if an
invalid occupantId is specified.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@214 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-26 22:16:38 +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
Robert Zubeck 98252184a9 Letter randomization is now weighted based on their distribution in the lexicon. No more
Tangleword boards with only one vowel! :)



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@203 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-20 02:23:02 +00:00
Ray Greenwell 3172353a54 Better yet, rip out premature optimizaton for something that is more correct.
Also use some nice utility classes we have.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@202 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-20 01:36:07 +00:00
Robert Zubeck cfed094aa3 This really should've been an array of unboxed ints. Ugh. :)
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@201 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-20 01:34:06 +00:00
Robert Zubeck 08618a4d74 Now that the server uses the new version, we can finish renaming
DictionaryService to DictionaryManager.



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@200 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-20 00:43:42 +00:00
Robert Zubeck 3dcf2a70a4 Renaming DictionaryService -> DictionaryManager, since a 'service' has a very
specific meaning, and will be treated differently by wrapper generatin scripts.



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@199 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-20 00:30:55 +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
Robert Zubeck 00e771e7a5 Updated the dictionary service, now with Real Functionality :) - loads language-specific
dictionary files, and acually uses them for user queries.



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@185 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-14 00:30:46 +00:00
Robert Zubeck 7ab410dde4 Added an asynchronous dictionary service, to perform word lookups
and other dictionary tasks as separate job units on the Invoker thread
(that's because we want to be as lazy as possible about loading 
dictionary files, but those can take a while :).



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@184 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-13 01:47:13 +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 75b34c6bf6 New service group world order. My enthusiasm for widening is being stretched.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@177 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-11 01:37:46 +00:00
Ray Greenwell 61d8f478e1 Removed debug that slipped in.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@176 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 20:56:07 +00:00
Ray Greenwell 3a387c7d8a - Start party games immediately.
- Validate users differently for party games.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@174 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 03:33:51 +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