[Freeciv-Dev] (PR#1883) Client is not full aware of game end
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
[pagnin - Sat Dec 14 21:39:58 2002]:
> Why PR#533 was related to this one:
> When the game end, the server send the GAME_OVER_STATE packet and
> afterwords the client is informed of the status change.
>
> This 1883 problem is related to the fact that we take in no account in
> the client the fact that the game has ended, thus we let the player
> buy
> improvement, move units and other "strange" things (if you consider
> that
> the game has ended!).
>
> But even if I have started to make the client aware of the game end if
> you consider that you can open a dialog *BEFORE* the game end and have
> it still open *AFTER* the game end, then we need a function to popdown
> all the dialogs or at least all the possible wrong dialogs when the
> status changes, for thi reason PR#533 was related to this one.
popdown_all_game_dialogs is a nice concept, but unreliable. Only the
gtk2 client gets all game dialogs, other GUIs have no means of tracking
them all (consider the goto_notify dialogs). But it seems to me that
can_client_xxx functions should be called in these cases to prevent
serious errors if the user tries to do something invalid. So from that
point of view the existence of popdown_all_game_dialogs is only cosmetic
(the dialogs *should* go away).
> For this patch, this is a resume:
> - After end game, no more focus on units (This is not extended on
> observer clients)
>
> - After end game, no more modification in cities or other things, it
> makes no sense. (Observer status clients are similarly excluded from
> having this possibility)
>
> Residual issues:
> 1. Misc. options, in city dialog, is not finished.
> (all option must be made unsensitive for observer client, and
> perhaps also for end game state)
Should be, yes. But this is just an incremental improvement, and in
most cases should be left to the GUI authors after the core patch has
been applied.
> 2. clients other than gtk are only partially fixed and need more work
Same as above.
> One important question:
> As an observer I would like to see all units movement and position,
> but
> at the same time I can't issue order for them.
> So, many times clicking on a sentried units, send a packet to the
> server, that isn't appropriate.
> Which should be the correct solution?
The packet should not be sent if !can_client_issue_orders().
Another note: in tilespec_reread() there are two game state checks. IMO
these should instead call can_client_xxx() to check. We may need a new
check, can_client_read_rulesets() or similar.
jason
- [Freeciv-Dev] (PR#1883) Client is not full aware of game end,
Jason Short via RT <=
|
|