Freeciv-3.2
|
#include <string.h>
#include "bitvector.h"
#include "capability.h"
#include "fcintl.h"
#include "log.h"
#include "mem.h"
#include "rand.h"
#include "string_vector.h"
#include "support.h"
#include "achievements.h"
#include "actions.h"
#include "capstr.h"
#include "citizens.h"
#include "counters.h"
#include "events.h"
#include "extras.h"
#include "game.h"
#include "government.h"
#include "idex.h"
#include "map.h"
#include "name_translation.h"
#include "movement.h"
#include "multipliers.h"
#include "nation.h"
#include "packets.h"
#include "player.h"
#include "research.h"
#include "rgbcolor.h"
#include "road.h"
#include "spaceship.h"
#include "specialist.h"
#include "style.h"
#include "traderoutes.h"
#include "unit.h"
#include "unitlist.h"
#include "worklist.h"
#include "chatline_g.h"
#include "citydlg_g.h"
#include "cityrep_g.h"
#include "connectdlg_g.h"
#include "dialogs_g.h"
#include "editgui_g.h"
#include "gui_main_g.h"
#include "inteldlg_g.h"
#include "mapctrl_g.h"
#include "mapview_g.h"
#include "menu_g.h"
#include "messagewin_g.h"
#include "pages_g.h"
#include "plrdlg_g.h"
#include "ratesdlg_g.h"
#include "repodlgs_g.h"
#include "spaceshipdlg_g.h"
#include "voteinfo_bar_g.h"
#include "wldlg_g.h"
#include "agents.h"
#include "attribute.h"
#include "audio.h"
#include "client_main.h"
#include "climap.h"
#include "climisc.h"
#include "clitreaty.h"
#include "connectdlg_common.h"
#include "control.h"
#include "editor.h"
#include "goto.h"
#include "helpdata.h"
#include "mapview_common.h"
#include "music.h"
#include "options.h"
#include "overview_common.h"
#include "tilespec.h"
#include "update_queue.h"
#include "voteinfo.h"
#include "script_client.h"
#include "packhand.h"
Go to the source code of this file.
Macros | |
#define | REQEST_BACKGROUND_REFRESH (1) |
#define | REQEST_BACKGROUND_FAST_AUTO_ATTACK (2) |
#define | VALIDATE(_count, _maximum, _string) |
#define | VALIDATE(_count, _maximum, _string) |
Variables | ||
struct { | ||
struct city_list * cities | ||
struct player * placeholder | ||
} | invisible | |
struct { | ||
int len | ||
enum event_type event | ||
char * caption | ||
char * headline | ||
char * lines | ||
int parts | ||
} | page_msg_report = { .parts = 0 } | |
const char | forced_tileset_name [] | |
static int | last_turn = 0 | |
const action_id | auto_attack_actions [] | |
const action_id | auto_attack_blockers [] | |
#define REQEST_BACKGROUND_FAST_AUTO_ATTACK (2) |
Definition at line 142 of file packhand.c.
#define REQEST_BACKGROUND_REFRESH (1) |
Definition at line 140 of file packhand.c.
Request that the player makes a decision for the specified unit unless it may be an automatic decision. In that case check if one of the auto actions are enabled.
Definition at line 1662 of file packhand.c.
Referenced by handle_unit_packet_common().
|
static |
Do an auto action or request that the player makes a decision for the specified unit.
Definition at line 5037 of file packhand.c.
Referenced by handle_unit_actions().
Returns a possibly legal attack action iff it is the only interesting action that currently is legal.
Definition at line 5007 of file packhand.c.
Referenced by action_decision_maybe_auto().
|
static |
A helper function for handling city-info and city-short-info packets. Naturally, both require many of the same operations to be done on the data.
Definition at line 1021 of file packhand.c.
Referenced by handle_city_info(), and handle_city_short_info().
Received package about gaining an achievement.
Definition at line 3009 of file packhand.c.
Referenced by client_handle_packet().
Called when begin-turn packet is received. Server has finished processing turn change.
Definition at line 1476 of file packhand.c.
Referenced by client_handle_packet().
void handle_calendar_info | ( | const struct packet_calendar_info * | pcalendar | ) |
Packet calendar_info handler.
Definition at line 2338 of file packhand.c.
Referenced by client_handle_packet().
void handle_chat_msg | ( | const struct packet_chat_msg * | packet | ) |
Handle a message packet. This includes all messages - both in-game messages and chats from other players.
Definition at line 1530 of file packhand.c.
Referenced by client_handle_packet().
void handle_city_info | ( | const struct packet_city_info * | packet | ) |
A city-info packet contains all information about a city. If we receive this packet then we know everything about the city internals.
Definition at line 650 of file packhand.c.
Referenced by client_handle_packet().
Handle reply to our city name request.
Definition at line 4855 of file packhand.c.
Referenced by client_handle_packet().
void handle_city_nationalities | ( | const struct packet_city_nationalities * | packet | ) |
Handle city nationalities packet.
Definition at line 987 of file packhand.c.
Referenced by client_handle_packet().
void handle_city_rally_point | ( | const struct packet_city_rally_point * | packet | ) |
Handle city rally point packet.
Definition at line 1007 of file packhand.c.
Handles a remove-city packet, used by the server to tell us any time a city is no longer there.
Definition at line 468 of file packhand.c.
Referenced by client_handle_packet().
void handle_city_sabotage_list | ( | int | actor_id, |
int | city_id, | ||
bv_imprs | improvements, | ||
action_id | act_id, | ||
int | request_kind | ||
) |
Handle list of potenttial buildings to sabotage.
Definition at line 5175 of file packhand.c.
Referenced by client_handle_packet().
void handle_city_short_info | ( | const struct packet_city_short_info * | packet | ) |
A city-short-info packet is sent to tell us about any cities we can't see the internals of. Most of the time this includes any cities owned by someone else.
Definition at line 1158 of file packhand.c.
Referenced by client_handle_packet().
void handle_city_update_counters | ( | const struct packet_city_update_counters * | packet | ) |
Handle updating city's counters, when server request
Definition at line 5627 of file packhand.c.
Referenced by client_handle_packet().
void handle_conn_info | ( | const struct packet_conn_info * | pinfo | ) |
Remove, add, or update dummy connection struct representing some connection to the server, with info from packet_conn_info. Updates player and game connection lists. Calls players_dialog_update() in case info for that has changed.
Definition at line 2880 of file packhand.c.
Referenced by client_handle_packet().
Reply to 'ping' packet with 'pong'
Definition at line 5363 of file packhand.c.
Referenced by client_handle_packet().
Handles a conn_ping_info packet from the server. This packet contains ping times for each connection.
Definition at line 2986 of file packhand.c.
Referenced by client_handle_packet().
Handle a connect message packet. Server sends connect message to client immediately when client connects.
Definition at line 1564 of file packhand.c.
Referenced by client_handle_packet().
Server tells us that either party has accepted treaty
Definition at line 5568 of file packhand.c.
Referenced by client_handle_packet().
Meeting has been cancelled.
Definition at line 5577 of file packhand.c.
Referenced by client_handle_packet().
void handle_diplomacy_create_clause | ( | int | counterpart, |
int | giver, | ||
enum clause_type | type, | ||
int | value | ||
) |
Add clause to the meeting
Definition at line 5585 of file packhand.c.
Referenced by client_handle_packet().
void handle_diplomacy_remove_clause | ( | int | counterpart, |
int | giver, | ||
enum clause_type | type, | ||
int | value | ||
) |
Remove clause from meeting.
Definition at line 5594 of file packhand.c.
Referenced by client_handle_packet().
void handle_early_chat_msg | ( | const struct packet_early_chat_msg * | packet | ) |
Handle an early message packet. Thease have format like other chat messages but server sends them only about events related to establishing the connection and other setup in the early phase. They are a separate packet just so that client knows thse to be already relevant when it's only setting itself up - other chat messages might be just something sent to all clients, and we might want to still consider ourselves "not connected" (not receivers of those messages) until we are fully in the game.
Definition at line 1550 of file packhand.c.
Referenced by client_handle_packet().
Handle edit mode fog-of-war state
Definition at line 5467 of file packhand.c.
Referenced by client_handle_packet().
Handle a notification from the server that an object was successfully created. The 'tag' was previously sent to the server when the client requested the creation. The 'id' is the identifier of the newly created object.
Definition at line 5390 of file packhand.c.
Referenced by client_handle_packet().
void handle_edit_startpos | ( | const struct packet_edit_startpos * | packet | ) |
Handle start position creation/removal.
Definition at line 5398 of file packhand.c.
void handle_edit_startpos_full | ( | const struct packet_edit_startpos_full * | packet | ) |
Handle start position internal information.
Definition at line 5436 of file packhand.c.
Called by the network code when an end-phase packet is received. This signifies the end of our phase (it's not sent for other player's phases).
Definition at line 1406 of file packhand.c.
Referenced by client_handle_packet().
Called when end-turn packet is received. Server starts processing turn change.
Definition at line 1490 of file packhand.c.
Referenced by client_handle_packet().
void handle_endgame_player | ( | const struct packet_endgame_player * | packet | ) |
Pass endgame report about single player.
Definition at line 5245 of file packhand.c.
Referenced by client_handle_packet().
void handle_endgame_report | ( | const struct packet_endgame_report * | packet | ) |
Pass the header information about things be displayed in a gui-specific endgame dialog.
Definition at line 5236 of file packhand.c.
Referenced by client_handle_packet().
We have received PACKET_FREEZE_CLIENT.
Definition at line 5342 of file packhand.c.
Referenced by client_handle_packet().
void handle_game_info | ( | const struct packet_game_info * | pinfo | ) |
Packet game_info handler.
Definition at line 2262 of file packhand.c.
Referenced by client_handle_packet().
void handle_investigate_finished | ( | const struct packet_investigate_finished * | packet | ) |
Receive an investigate_finished packet
Definition at line 2144 of file packhand.c.
Referenced by client_handle_packet().
void handle_investigate_started | ( | const struct packet_investigate_started * | packet | ) |
Receive an investigate_started packet
Can't rely on generic packet_processing_started, as that works for the requesting connection only, and not for observers.
Definition at line 2120 of file packhand.c.
Referenced by client_handle_packet().
void handle_map_info | ( | const struct packet_map_info * | packet | ) |
Receive information about the map size and topology from the server. We initialize some global variables at the same time.
Definition at line 2222 of file packhand.c.
Referenced by client_handle_packet().
Handle nation availability info. This can change during pregame so is separate from ruleset_nation.
Definition at line 4682 of file packhand.c.
Referenced by client_handle_packet().
Handle turn and year advancement.
Definition at line 1357 of file packhand.c.
Referenced by client_handle_packet().
The tile (x,y) has been nuked!
Definition at line 545 of file packhand.c.
Referenced by client_handle_packet().
void handle_page_msg | ( | const char * | caption, |
const char * | headline, | ||
enum event_type | event, | ||
int | len, | ||
int | parts | ||
) |
Page_msg header handler.
Definition at line 1589 of file packhand.c.
Referenced by client_handle_packet().
Page_msg part handler.
Definition at line 1620 of file packhand.c.
Referenced by client_handle_packet(), and handle_page_msg().
Play suitable music
Definition at line 5544 of file packhand.c.
Referenced by client_handle_packet().
void handle_player_attribute_chunk | ( | const struct packet_player_attribute_chunk * | packet | ) |
Packet player_attribute_chunk handler.
Definition at line 5261 of file packhand.c.
void handle_player_diplstate | ( | const struct packet_player_diplstate * | packet | ) |
Packet player_diplstate handler.
Definition at line 2779 of file packhand.c.
Referenced by client_handle_packet().
void handle_player_info | ( | const struct packet_player_info * | pinfo | ) |
Handle information about a player. If the packet refers to a player slot that is not currently used, then this function will set that slot to used and update the total player count.
Definition at line 2432 of file packhand.c.
Referenced by client_handle_packet().
Handle a notification that the player slot identified by 'playerno' has become unused. If the slot is already unused, then just ignore. Otherwise update the total player count and the GUI.
Definition at line 2387 of file packhand.c.
Referenced by client_handle_packet().
Handle request to stop processing packet.
Definition at line 5298 of file packhand.c.
Referenced by client_handle_packet().
Handle request to start processing packet.
Definition at line 5280 of file packhand.c.
Referenced by client_handle_packet().
void handle_research_info | ( | const struct packet_research_info * | packet | ) |
Receive a research info packet.
Definition at line 2665 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_achievement | ( | const struct packet_ruleset_achievement * | p | ) |
Handle a packet about a particular achievement type.
Definition at line 4506 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_action | ( | const struct packet_ruleset_action * | p | ) |
Handle a packet about a particular action.
Definition at line 4394 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_action_auto | ( | const struct packet_ruleset_action_auto * | p | ) |
Handle a packet about a particular action auto performer rule.
Definition at line 4462 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_action_enabler | ( | const struct packet_ruleset_action_enabler * | p | ) |
Handle a packet about a particular action enabler.
Definition at line 4428 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_base | ( | const struct packet_ruleset_base * | p | ) |
Handle a packet about a particular base type.
Definition at line 4317 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_building | ( | const struct packet_ruleset_building * | p | ) |
Packet ruleset_building handler.
Definition at line 3877 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_city | ( | const struct packet_ruleset_city * | packet | ) |
Handle city style packet.
Definition at line 4735 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_clause | ( | const struct packet_ruleset_clause * | p | ) |
Handle a packet about a particular clause.
Definition at line 4712 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_control | ( | const struct packet_ruleset_control * | packet | ) |
Take arrival of ruleset control packet to indicate that current allocated governments should be free'd, and new memory allocated for new size. The same for nations.
Definition at line 3398 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_counter | ( | const struct packet_ruleset_counter * | packet | ) |
Handle each counter's ruleset packet sent from server instance to this client.
Definition at line 5604 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_description_part | ( | const struct packet_ruleset_description_part * | packet | ) |
Next part of ruleset description.
Definition at line 3512 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_disaster | ( | const struct packet_ruleset_disaster * | p | ) |
Handle a packet about a particular disaster type.
Definition at line 4484 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_effect | ( | const struct packet_ruleset_effect * | packet | ) |
Add effect data to ruleset cache.
Definition at line 5379 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_extra | ( | const struct packet_ruleset_extra * | p | ) |
Handle a packet about a particular extra type.
Definition at line 4153 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_extra_flag | ( | const struct packet_ruleset_extra_flag * | p | ) |
Packet ruleset_extra_flag handler.
Definition at line 4291 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_game | ( | const struct packet_ruleset_game * | packet | ) |
Packet ruleset_game handler.
Definition at line 4784 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_goods | ( | const struct packet_ruleset_goods * | p | ) |
Handle a packet about a particular goods type.
Definition at line 4369 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_government | ( | const struct packet_ruleset_government * | p | ) |
Packet ruleset_government handler.
Definition at line 3982 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_government_ruler_title | ( | const struct packet_ruleset_government_ruler_title * | packet | ) |
Packet ruleset_government_ruler_title handler.
Definition at line 4011 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_impr_flag | ( | const struct packet_ruleset_impr_flag * | p | ) |
Packet ruleset_impr_flag handler.
Definition at line 3928 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_multiplier | ( | const struct packet_ruleset_multiplier * | p | ) |
Packet ruleset_multiplier handler.
Definition at line 3954 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_music | ( | const struct packet_ruleset_music * | packet | ) |
Handle music style packet.
Definition at line 4761 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_nation | ( | const struct packet_ruleset_nation * | packet | ) |
Handle initial ruleset nation info.
Definition at line 4592 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_nation_groups | ( | const struct packet_ruleset_nation_groups * | packet | ) |
Handle the list of nation groups, sent as part of the ruleset.
Definition at line 4570 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_nation_sets | ( | const struct packet_ruleset_nation_sets * | packet | ) |
Handle the list of nation sets, sent as part of the ruleset.
Definition at line 4549 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_resource | ( | const struct packet_ruleset_resource * | p | ) |
Handle a packet about a particular terrain resource.
Definition at line 4134 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_road | ( | const struct packet_ruleset_road * | p | ) |
Handle a packet about a particular road type.
Definition at line 4338 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_specialist | ( | const struct packet_ruleset_specialist * | p | ) |
Handle info about a single specialist.
Definition at line 4829 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_style | ( | const struct packet_ruleset_style * | p | ) |
Handle a packet about a particular style.
Definition at line 4700 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_summary | ( | const struct packet_ruleset_summary * | packet | ) |
void handle_ruleset_tech | ( | const struct packet_ruleset_tech * | p | ) |
Packet ruleset_tech handler.
Definition at line 3774 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_tech_class | ( | const struct packet_ruleset_tech_class * | p | ) |
Packet ruleset_tech_class handler.
Definition at line 3839 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_tech_flag | ( | const struct packet_ruleset_tech_flag * | p | ) |
Packet ruleset_tech_flag handler.
Definition at line 3852 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_terrain | ( | const struct packet_ruleset_terrain * | p | ) |
Packet ruleset_terrain handler.
Definition at line 4026 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_terrain_control | ( | const struct packet_ruleset_terrain_control * | p | ) |
Handle the terrain control ruleset packet sent by the server.
Definition at line 4536 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_terrain_flag | ( | const struct packet_ruleset_terrain_flag * | p | ) |
Packet ruleset_terrain_flag handler.
Definition at line 4109 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_trade | ( | const struct packet_ruleset_trade * | p | ) |
Handle a packet about a particular trade route type.
Definition at line 4522 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_unit | ( | const struct packet_ruleset_unit * | p | ) |
Packet ruleset_unit handler.
Definition at line 3594 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_unit_bonus | ( | const struct packet_ruleset_unit_bonus * | p | ) |
Packet ruleset_unit_bonus handler.
Definition at line 3667 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_unit_class | ( | const struct packet_ruleset_unit_class * | p | ) |
Packet ruleset_unit_class handler.
Definition at line 3576 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_unit_class_flag | ( | const struct packet_ruleset_unit_class_flag * | p | ) |
Packet ruleset_unit_class_flag handler.
Definition at line 3712 of file packhand.c.
Referenced by client_handle_packet().
void handle_ruleset_unit_flag | ( | const struct packet_ruleset_unit_flag * | p | ) |
Packet ruleset_unit_flag handler.
Definition at line 3687 of file packhand.c.
Referenced by client_handle_packet().
Received packet indicating that all rulesets have now been received.
Definition at line 3522 of file packhand.c.
Referenced by client_handle_packet().
Received packet containing description of current scenario
Definition at line 3386 of file packhand.c.
Referenced by client_handle_packet().
void handle_scenario_info | ( | const struct packet_scenario_info * | packet | ) |
Received packet containing info about current scenario
Definition at line 3365 of file packhand.c.
Referenced by client_handle_packet().
void handle_server_info | ( | const char * | version_label, |
int | major_version, | ||
int | minor_version, | ||
int | patch_version, | ||
int | emerg_version | ||
) |
Handle server info packet. Server sends info packet as soon as it knows client to be compatible.
Definition at line 1573 of file packhand.c.
Referenced by client_handle_packet().
void handle_server_join_reply | ( | bool | you_can_join, |
const char * | message, | ||
const char * | capability, | ||
const char * | challenge_file, | ||
int | conn_id | ||
) |
After we send a join packet to the server we receive a reply. This function handles the reply.
Definition at line 400 of file packhand.c.
Referenced by client_handle_packet().
Handle server shutdown.
Definition at line 5371 of file packhand.c.
Referenced by client_handle_packet().
Server requested topology change.
Definition at line 2199 of file packhand.c.
Referenced by client_handle_packet().
void handle_spaceship_info | ( | const struct packet_spaceship_info * | p | ) |
Packet spaceship_info handler.
Definition at line 3065 of file packhand.c.
Referenced by client_handle_packet().
Called by the network code when an start-phase packet is received. This may be the start of our phase or someone else's phase.
Definition at line 1417 of file packhand.c.
Referenced by client_handle_packet().
Handle servers's reply to request to sync via packet serial number
Definition at line 5657 of file packhand.c.
Referenced by client_handle_packet().
The name of team 'team_id'
Definition at line 553 of file packhand.c.
Referenced by client_handle_packet().
We have received PACKET_THAW_CLIENT
Definition at line 5352 of file packhand.c.
Referenced by client_handle_packet().
void handle_tile_info | ( | const struct packet_tile_info * | packet | ) |
Packet tile_info handler.
Definition at line 3110 of file packhand.c.
Referenced by client_handle_packet().
Sets the remaining turn time.
Definition at line 2346 of file packhand.c.
Referenced by client_handle_packet().
void handle_trade_route_info | ( | const struct packet_trade_route_info * | packet | ) |
A trade route-info packet contains information about one end of a trade route
Definition at line 1123 of file packhand.c.
Referenced by client_handle_packet().
void handle_unit_action_answer | ( | int | actor_id, |
int | target_id, | ||
int | cost, | ||
action_id | action_type, | ||
int | request_kind | ||
) |
Handle the requested follow up question about an action
The action can be a valid action or the special value ACTION_NONE. ACTION_NONE indicates that performing the action is impossible.
Definition at line 4891 of file packhand.c.
Referenced by client_handle_packet().
void handle_unit_actions | ( | const struct packet_unit_actions * | packet | ) |
Handle reply to possible actions.
Note that a reply to a foreground request (a reply where request_kind is REQEST_PLAYER_INITIATED) must result in its clean up.
Definition at line 5105 of file packhand.c.
Referenced by client_handle_packet().
void handle_unit_combat_info | ( | const struct packet_unit_combat_info * | packet | ) |
A combat packet. The server tells us the attacker and defender as well as both of their hitpoints after the combat is over (in most combat, one unit always dies and their HP drops to zero). If make_winner_veteran is set then the surviving unit becomes veteran.
Definition at line 568 of file packhand.c.
Referenced by client_handle_packet().
void handle_unit_info | ( | const struct packet_unit_info * | packet | ) |
Called to do basic handling for a unit_info or short_unit_info packet.
Both owned and foreign units are handled; you may need to check unit owner, or if unit equals focus unit, depending on what you are doing.
Note: Normally the server informs client about a new "activity" here. For owned units, the new activity can be a result of:
Depending on what caused the change, different actions may be taken. Therefore, this function is a bit of a jungle, and it is advisable to read thoroughly before changing.
Definition at line 1700 of file packhand.c.
Referenced by handle_unit_info(), and handle_unit_short_info().
Handle a remove-unit packet, sent by the server to tell us any time a unit is no longer there.
Definition at line 491 of file packhand.c.
Referenced by client_handle_packet(), and handle_unit_packet_common().
void handle_unit_short_info | ( | const struct packet_unit_short_info * | packet | ) |
Receive a short_unit info packet.
Definition at line 2151 of file packhand.c.
Referenced by client_handle_packet().
Received a packet indicating we don't know the research details any more.
Definition at line 2749 of file packhand.c.
Referenced by client_handle_packet().
void handle_vote_new | ( | const struct packet_vote_new * | packet | ) |
Create a new vote and add it to the queue. Refresh the GUI.
Definition at line 5508 of file packhand.c.
Referenced by client_handle_packet().
A vote no longer exists. Remove from queue and update gui.
Definition at line 5477 of file packhand.c.
Referenced by client_handle_packet().
Update the vote's status and refresh the GUI.
Definition at line 5525 of file packhand.c.
Referenced by client_handle_packet().
Find and update the corresponding vote and refresh the GUI.
Definition at line 5486 of file packhand.c.
Referenced by client_handle_packet().
void handle_worker_task | ( | const struct packet_worker_task * | packet | ) |
Handle worker task assigned to the city
Definition at line 1300 of file packhand.c.
void notify_about_incoming_packet | ( | struct connection * | pc, |
int | packet_type, | ||
int | size | ||
) |
Notify interested parties about incoming packet.
Definition at line 5318 of file packhand.c.
Referenced by make_connection().
void notify_about_outgoing_packet | ( | struct connection * | pc, |
int | packet_type, | ||
int | size, | ||
int | request_id | ||
) |
Notify interested parties about outgoing packet.
Definition at line 5328 of file packhand.c.
Referenced by make_connection().
Called below, and by client/client_main.c client_game_free()
Definition at line 218 of file packhand.c.
Referenced by client_game_free(), client_game_reset(), and packhand_init().
Called only by handle_map_info() below.
Definition at line 239 of file packhand.c.
Referenced by handle_map_info().
void play_sound_for_event | ( | enum event_type | type | ) |
Plays sound associated with event
Definition at line 1517 of file packhand.c.
Referenced by handle_event(), and handle_page_msg_part().
void set_government_choice | ( | struct government * | government | ) |
Sets the target government. This will automatically start a revolution if the target government differs from the current one.
Definition at line 2363 of file packhand.c.
Referenced by government_dlg_callback(), revolution_response(), and revolution_response().
Ideally the client should let the player choose which type of modules and components to build, and (possibly) where to extend structurals. The protocol now makes this possible, but the client is not yet that good (would require GUI improvements) so currently the client choices stuff automatically if there is anything unplaced.
This function makes a choice (sends spaceship_action) and returns 1 if we placed something, else 0.
Do things one at a time; the server will send us an updated spaceship_info packet, and we'll be back here to do anything which is left.
Definition at line 3046 of file packhand.c.
Referenced by handle_spaceship_info().
Begin a revolution by telling the server to start it. This also clears the current government choice.
Definition at line 2376 of file packhand.c.
Referenced by revolution_response(), and revolution_response().
|
static |
Unpack a traditional tech req from a standard requirement vector (that still is in the network serialized format rather than a proper requirement vector).
Returns the position in the requirement vector after unpacking. It will increase if a tech req was extracted.
Definition at line 3744 of file packhand.c.
Referenced by handle_ruleset_tech().
Unpackage a short_unit_info packet. This extracts a limited amount of information about the unit, and is sent for units we shouldn't know everything about (like our enemies' units).
Information for the client must also be processed in handle_unit_packet_common()! Especially notice that unit structure filled here is just temporary one. Values must be copied to real unit in handle_unit_packet_common().
Definition at line 363 of file packhand.c.
Referenced by handle_unit_short_info().
Unpackage the unit information into a newly allocated unit structure.
Information for the client must also be processed in handle_unit_packet_common()! Especially notice that unit structure filled here is just temporary one. Values must be copied to real unit in handle_unit_packet_common().
Definition at line 264 of file packhand.c.
Referenced by handle_unit_info().
|
static |
Updates a city's list of improvements from packet data. "have_impr" specifies whether the improvement should be added (TRUE) or removed (FALSE). Returns TRUE if the improvement has been actually added or removed.
Definition at line 628 of file packhand.c.
Referenced by handle_city_info(), handle_city_sabotage_list(), and handle_city_short_info().
Definition at line 145 of file packhand.c.
Referenced by action_decision_handle(), and auto_attack_act().
Definition at line 162 of file packhand.c.
Referenced by auto_attack_act().
char* caption |
Definition at line 129 of file packhand.c.
Referenced by handle_page_msg().
struct city_list* cities |
Definition at line 119 of file packhand.c.
Referenced by adjust_improvement_wants_by_effects(), buy_production_in_selected_cities(), city_incite_cost(), city_model_fill(), collect_production_targets(), dai_goldequiv_clause(), dai_war_desire(), debug_command(), city_widget::display_list_menu(), kill_something_with(), load_city_name_list(), nearest_gov_center(), player_base_citizen_happiness(), player_distance_to_player(), city_model::populate(), process_attacker_want(), text_happiness_cities(), unit_bribe_cost(), update_city_activities(), and update_source_label().
enum event_type event |
Definition at line 128 of file packhand.c.
Referenced by handle_page_msg().
Definition at line 137 of file client_main.c.
Referenced by client_main(), default_tileset_select(), and handle_set_topology().
char* headline |
Definition at line 130 of file packhand.c.
Referenced by handle_page_msg().
struct { ... } invisible |
Referenced by handle_city_info(), handle_city_short_info(), handle_tile_info(), packhand_free(), and packhand_init().
|
static |
Definition at line 137 of file packhand.c.
Referenced by handle_new_year().
int len |
Definition at line 127 of file packhand.c.
Referenced by activated_topic(), add_connection_data(), add_new_worklist_callback(), allowtake_callback(), astr_add_line(), base_fc_utf8_strlcpy_rep(), base_fc_utf8_strlcpy_trunc(), boot_help_texts(), capitalized_string(), cat_snprintf(), cat_utf8_snprintf_rep(), cat_utf8_snprintf_trunc(), chain2text(), check_include(), check_strlen(), citizens_callback(), citizens_callback(), client_handle_packet(), cma_get_parameter(), compat_load_020600(), connection_send_data(), convert_utf8_str_to_const_surface_width(), create_city_virtual(), create_md5sum(), create_new_line_utf8strs(), create_races_dialog(), del_chain(), edit_field(), edit_worklist_callback(), effectivestrlenquote(), end_of_strn(), expand_dir(), extract_sequence_text(), fc_chomp(), fc_gethostname(), fc_strcspn(), fc_strrep(), fc_strrep_resize(), fc_utf8_strlcat_rep(), fc_utf8_strlcat_trunc(), fc_utf8_strlen(), fc_vsnprintf(), featured_text_apply_tag(), featured_text_to_plain_text(), fileinfolist(), fileinfolist_infix(), form_chat_name(), fz_fgets(), fz_fprintf(), fz_from_file(), get_conv(), get_conv(), get_infrastructure_text(), get_internal_string_length(), get_option_malloc(), get_tokens(), handle_page_msg(), handle_ruleset_choices(), handle_ruleset_nation(), handle_ruleset_summary(), help_command_callback(), help_update_tech(), html_special_chars(), init_datum_string(), init_nls(), is_on_allowed_list(), is_valid_demography(), load_city_name_list(), load_ruleset_game(), loud_strlcpy(), luascript_report(), mapimg_define_arg(), match_prefix_full(), md5_buffer(), message_dlg::message_dlg(), musicspec_load(), packet_check(), page_conn_etype(), player_name_check(), popup_races_dialog(), popup_worklist_editor(), qtg_get_gui_specific_themes_directories(), receive_packet_page_msg_100(), redraw_edit(), refresh_worklist_count_label(), remove_clause_widget_from_list(), remove_packet_from_buffer(), remove_trailing_spaces(), save_script_lua(), script_server_load_file(), secfile_entry_by_path(), secfile_section_prefix_present(), secfile_sections_by_name_prefix(), send_packet_data(), server_sniff_all_input(), setting_bitwise_to_str(), setting_match_prefix_base(), sg_load_player_city(), sg_load_player_unit(), sg_load_player_unit(), sg_save_player_cities(), sg_save_player_units(), startunits_callback(), strvec_to_str(), text2chain(), text_tag_replace_text(), text_tag_start_sequence(), text_tag_stop_sequence(), tileset_read_toplevel(), update_clauses_list(), update_info_label(), and version_message().
char* lines |
Definition at line 131 of file packhand.c.
Referenced by client_handle_packet(), compat_load_020400(), chatwdg::default_size(), draw_trade_route_line(), handle_page_msg_part(), notify_dialog::notify_dialog(), notify_goto::notify_goto(), notify_goto_data_new(), page_conn(), page_conn_etype(), popup_notify_dialog(), popup_notify_goto_dialog(), receive_packet_page_msg_part_100(), set_new_order_widget_start_pos(), sg_load_map_known(), sg_load_map_known(), sg_save_map_known(), and trade_route_to_canvas_lines().
struct { ... } page_msg_report |
Referenced by handle_page_msg(), and handle_page_msg_part().
int parts |
Definition at line 132 of file packhand.c.
Referenced by client_handle_packet(), handle_page_msg(), receive_packet_page_msg_100(), sg_load_player_attributes(), sg_load_player_attributes(), and sg_save_player_attributes().
Definition at line 120 of file packhand.c.