Commit Graph

149 Commits

Author SHA1 Message Date
Ray Greenwell 052cf8e0e2 Table creation refactor: Rather than have the game config specify
table configuration parameters that are unneeded once the actual game starts,
and requiring each GameConfigurator to duplicate the functionality
of standard table setup, I separated TableConfig from GameConfig.
If a game wants to be usable in a table matchmaking service, it
implements TableableGameConfig, and returns the TableConfigurator to use.
There is a default TableConfigurator implementation that just does
everything needed. TableConfigurator returns a happily customized
TableConfig, which is sent to the server with the GameConfig in order to
create the Table.
More refactoring needs to happen to get the Party stuff in line, but
right now that's all a mess since we're still supporting the old-style
party interface for the old drinking puzzle in yohoho.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3525 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-26 02:38:42 +00:00
Andrzej Kapolka 4266c72977 Changed TrickCardGameUtil to use more sensible round-the-table ordering. Changed TeamGameConfig to return the actual indices of the team members, so that teammates need not have consecutive indices.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3496 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-16 02:00:57 +00:00
Michael Bayne eda477180f Allow additional game states.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3485 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-14 01:22:38 +00:00
Michael Bayne 0bf43bc2e8 Step two in the great Stage refactor. I don't know how many steps will be
needed all told, but I like to see the number keep going up.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3438 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-29 23:18:59 +00:00
Michael Bayne f2a9f7ed0d Further AI handling improvements.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3401 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-12 10:08:02 +00:00
Michael Bayne 787d4f1fe5 Allow AI configuration to be specified in the GameConfig and automatically
put into place before the game starts.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-12 07:46:34 +00:00
Michael Bayne fb53600e92 Revamped the way AI configuration is specified to be more extensible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-12 07:37:34 +00:00
Ray Greenwell 3549b9cdaf Do not require the playerStatus field to be initialized. If someone wants
to write a simple board game for gamegardens, they shouldn't have to
explicitly set up an array indicating that all the players are active
(or worse, waste 45 minutes tracking down why the game is freezing up
suddenly).

If the playerStatus array is null, all players are active.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3397 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-11 22:10:27 +00:00
Ted V 08cc800694 Turn/GameManager now supports interface for checking whether a player
is still actively playing the game.  The delegate now uses this when
incrementing turns to skip over players not a part of the game (rather
than needing this same code in the derived classes).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3390 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-10 00:13:25 +00:00
Ted V 94bf03ec9d Moved player status tracking and in/out of game status from puzzles to
games.  Updated the PLAYER_KNOCKED_OUT variable name to prevent some
namespace contention issues.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3386 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-09 22:52:03 +00:00
Michael Bayne dbbd8e955f Decided to take the pain and refactor the parlor.game and parlor.turn
packages properly into client, data and server subpackages. This
eliminates a bunch of hackery I had to do to properly handle dead code
removal when building the Game Gardens client and games and it simplifies
things and sets a good example to follow the standard procedure as much as
possible.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3381 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-03 19:36:34 +00:00
Michael Bayne 44f2a29f4f Regenerated with updated copyright information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3365 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-22 18:56:52 +00:00
Michael Bayne afabea71ad Big fat Bernie javadoc cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3310 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-24 23:08:21 +00:00
Andrzej Kapolka f2a5845db9 GameManager was calling gameDidEnd for games that never began. Changed to check that the game was actually in play.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3302 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-14 22:49:13 +00:00
Ray Greenwell b295fb2630 Regenerated with non-NPEing code.Regenerated with non-NPEing code.Regenerated with non-NPEing code.Regenerated with non-NPEing code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3300 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-08 22:05:00 +00:00
Michael Bayne 61c0dde5d5 Regenerated the distributed objects with the new clone happy bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3295 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-05 06:46:11 +00:00
Michael Bayne 920726f9f9 Noticed some other cleanup that could now be done.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3292 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-31 05:31:53 +00:00
Michael Bayne 0127ccba96 Only Yohoho needs the game object registered as an auxiliary source
because it plays games in a special place rather than actually moving the
player into the game room which naturally registers the place object as a
chat source. Fortunately, we can implement the necessary hackery to
support Yohoho in a reasonably generic manner.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3291 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-31 05:30:38 +00:00
Michael Bayne 55a0ab91f7 Regenerated our DObject derivations in the new world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3288 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-28 03:51:29 +00:00
Ray Greenwell bd80c348eb The great Interval revamp.
There is no more SafeInterval, instead Intervals can be constructed with a RunQueue to use for expiring.
PresentsDObjectMgr implements RunQueue.
Client has a getRunQueue() method to get the client side RunQueue.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3283 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-22 19:23:00 +00:00
Michael Bayne b56061da46 Added a default implementation of getRatingTypeId() as well since that's a
wacky notion from Yohoho that shouldn't really be in parlor in the first
place.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3276 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-15 02:39:58 +00:00
Michael Bayne 63131a8911 Added a default implementation of getGameName().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3275 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-15 02:38:42 +00:00
Ray Greenwell feb7355804 Go back to defaultly broadcasting to game objects, in case someone ever
creates a traditional lobby->room server with narya, and instead allow
a broadcast object to be registered with the ChatProvider to which all
broadcasts will be sent.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3261 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-03 23:47:19 +00:00
Andrzej Kapolka 33df387517 Moved shouldBroadcast override from PuzzleObject to GameObject.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3260 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-03 23:30:34 +00:00
Andrzej Kapolka f4bb453f83 Don't report ready if not actually a player.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3258 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-03 03:27:37 +00:00
Michael Bayne d492d541b3 Create our game configurator directly rather than returning a class and
forcing the caller to instantiate it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3248 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-27 21:24:33 +00:00
Michael Bayne a04e23e025 Regenerated our marshaller and dispatcher classes with the new Java-based
generator. It handles inner classes slightly differently and prepends a
project-specific header to the generated classes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3239 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-25 04:47:40 +00:00
Ray Greenwell 90621e78de Moved standard puzzle chat up to the game level, so that all games
can broadcast chat messages on their object..


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3237 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-25 00:21:46 +00:00
Andrzej Kapolka 58876841c7 Changed getPartyDescription in PartyGameConfig to getDescription in GameConfig.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3231 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-23 22:28:39 +00:00
Andrzej Kapolka 98ea85c9b1 Pushed getRatingTypeId up to GameConfig.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3230 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-23 22:01:41 +00:00
Andrzej Kapolka e5f36ca111 Pushed reportWinnersAndLosers and related methods up to GameManager, MouseInputAdapter instead of MouseAdapter/MouseMotionAdapter.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3221 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-18 21:45:10 +00:00
Michael Bayne 8451c39797 Added missing copyright headers to the .dobj files.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3218 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-17 23:16:56 +00:00
Andrzej Kapolka 36b5a00139 Added TeamGameConfig interface for games with fixed teams (like Spades).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3202 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-04 23:31:10 +00:00
Ray Greenwell 4fda6a2fcb Allow specification of a personality type along with the skill level
when setting up AIs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3164 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-10-22 19:27:54 +00:00
Michael Bayne f04caa3579 Changing the name of clone() just so we can change the return type is
Kormanian wackiness. Let's just make clone() public and use it like
civilized people.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3163 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-10-22 18:50:51 +00:00
Andrzej Kapolka 5c8e1f10af Moved getClone, getBundle name from PuzzleConfig to GameConfig; added getGameName to GameConfig (but retained getPuzzleName for now--will change soon).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3161 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-10-22 17:50:03 +00:00
Michael Bayne e535e580da Brought these two classes back into sync. This wiped out the
hand-modifications to setState() but we're no longer having problems with
multiply ending games so they are no longer needed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3117 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-09-13 16:11:10 +00:00
Ray Greenwell 7122d9afe8 Added isDraw().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3113 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-09-01 21:02:44 +00:00
Michael Bayne a9720fd905 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3099 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:21:06 +00:00
Michael Bayne d28a272a2e Clear our game end tracker when the game is started once again; add code
to work around the rapid-fire endGame()/startGame() calls that don't allow
the endGame() events to propagate before startGame() is called.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3089 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-23 18:40:58 +00:00
Michael Bayne fb6795fe37 Use a repeat call tracker which will properly report stack traces on any
repeat calls.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3072 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-13 21:18:39 +00:00
Michael Bayne fe7e9dc413 Debugging code to try to track down the cause of the multiply released
pending ratings. Somehow a game is getting ended twice even though the
code should prevent it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3055 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-10 01:32:54 +00:00
Michael Bayne 031331a5c3 Regenerated from service definitions.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3037 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-22 13:57:44 +00:00
Ray Greenwell 680fc5bb38 Still having trouble tracking down a bug related to games that seem to
end twice. This should help.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3008 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-05-19 01:24:10 +00:00
Michael Bayne 32dee3cbaf 405 modified source files and 17,367 lines of diffs later we now enforce
more discipline when handling names in our code base. Any user entered
name should find its way into a Name object as soon as it comes out of a
text field or whatnot, and stay that way until it makes its way into a
text field or into a database record (for which String objects are vastly
simpler because of JORA magic).

Dear God, let me never again make a change this large for the rest of my
mortal life.

Unfortunately, this means we have to keep an eye out for funny business
pretty much everywhere. However, since we will absolutely want to test
market stalls and so forth on Azure, we'll have an opportunity to iron out
any funny business that might fall under the radar during our internal
testing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2980 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-03-06 11:29:19 +00:00
Michael Bayne d618d3c771 Eclipse suggested cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2971 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-25 14:50:28 +00:00
Michael Bayne 0601c94e42 Cope.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2875 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-11-25 22:35:10 +00:00
Michael Bayne 94e10e81cd Scratch that we can deal with this in DutyPuzzleManager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2869 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-11-24 18:09:03 +00:00
Michael Bayne 4415472bef Allow that warning to be disabled for duty puzzles.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2868 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-11-24 18:07:58 +00:00
Michael Bayne d06c0fad00 Some debug logging to try to track down the "I entered the puzzle but it
never started and the server eventually gave me the boot."


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2776 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-16 00:28:43 +00:00