Freeciv-3.3
|
#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 1670 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 5120 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 5090 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 1029 of file packhand.c.
Referenced by handle_city_info(), and handle_city_short_info().
|
inlinestatic |
Returns the location of the adjacency count between the two given continents or oceans, where ID 0 stands for unknown tiles.
Definition at line 3133 of file packhand.c.
Referenced by update_continent_cache().
Received package about gaining an achievement.
Definition at line 3031 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 1484 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 2360 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 1538 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 658 of file packhand.c.
Referenced by client_handle_packet().
Handle reply to our city name request.
Definition at line 4916 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 995 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 1015 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 476 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 5258 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 1166 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 5710 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 2902 of file packhand.c.
Referenced by client_handle_packet().
Reply to 'ping' packet with 'pong'
Definition at line 5446 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 3008 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 1572 of file packhand.c.
Referenced by client_handle_packet().
Server tells us that either party has accepted treaty
Definition at line 5651 of file packhand.c.
Referenced by client_handle_packet().
Meeting has been cancelled.
Definition at line 5660 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 5668 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 5677 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 1558 of file packhand.c.
Referenced by client_handle_packet().
Handle edit mode fog-of-war state
Definition at line 5550 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 5473 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 5481 of file packhand.c.
void handle_edit_startpos_full | ( | const struct packet_edit_startpos_full * | packet | ) |
Handle start position internal information.
Definition at line 5519 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 1414 of file packhand.c.
Referenced by client_handle_packet().
Called when end-turn packet is received. Server starts processing turn change.
Definition at line 1498 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 5328 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 5319 of file packhand.c.
Referenced by client_handle_packet().
We have received PACKET_FREEZE_CLIENT.
Definition at line 5425 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 2284 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 2162 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 2138 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 2242 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 4764 of file packhand.c.
Referenced by client_handle_packet().
Handle turn and year advancement.
Definition at line 1365 of file packhand.c.
Referenced by client_handle_packet().
The tile (x,y) has been nuked!
Definition at line 553 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 1597 of file packhand.c.
Referenced by client_handle_packet().
Page_msg part handler.
Definition at line 1628 of file packhand.c.
Referenced by client_handle_packet(), and handle_page_msg().
Play suitable music
Definition at line 5627 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 5344 of file packhand.c.
void handle_player_diplstate | ( | const struct packet_player_diplstate * | packet | ) |
Packet player_diplstate handler.
Definition at line 2801 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 2454 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 2409 of file packhand.c.
Referenced by client_handle_packet().
Handle request to stop processing packet.
Definition at line 5381 of file packhand.c.
Referenced by client_handle_packet().
Handle request to start processing packet.
Definition at line 5363 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 2687 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 4588 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 4491 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 4551 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 4525 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 4420 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 4011 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 4810 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 4794 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 3533 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 5687 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 3647 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 4570 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 5462 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 4269 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 4394 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 4851 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 4468 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 4103 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 4127 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 4055 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 4081 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 4832 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 4674 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 4652 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 4631 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 4250 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 4441 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 4896 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 4782 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 3904 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 3973 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 3986 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 4142 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 4618 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 4225 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 4604 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 3729 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 3800 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 3711 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 3845 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 3820 of file packhand.c.
Referenced by client_handle_packet().
Received packet indicating that all rulesets have now been received.
Definition at line 3657 of file packhand.c.
Referenced by client_handle_packet().
Received packet containing description of current scenario
Definition at line 3521 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 3500 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 1581 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 408 of file packhand.c.
Referenced by client_handle_packet().
Handle server shutdown.
Definition at line 5454 of file packhand.c.
Referenced by client_handle_packet().
Server requested topology change.
Definition at line 2219 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 3087 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 1425 of file packhand.c.
Referenced by client_handle_packet().
Handle servers's reply to request to sync via packet serial number
Definition at line 5740 of file packhand.c.
Referenced by client_handle_packet().
The name of team 'team_id'
Definition at line 561 of file packhand.c.
Referenced by client_handle_packet().
We have received PACKET_THAW_CLIENT
Definition at line 5435 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 3241 of file packhand.c.
Referenced by client_handle_packet().
Sets the remaining turn time.
Definition at line 2368 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 1131 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 4952 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 5188 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 576 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 1708 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 499 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 2169 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 2771 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 5591 of file packhand.c.
Referenced by client_handle_packet().
A vote no longer exists. Remove from queue and update gui.
Definition at line 5560 of file packhand.c.
Referenced by client_handle_packet().
Update the vote's status and refresh the GUI.
Definition at line 5608 of file packhand.c.
Referenced by client_handle_packet().
Find and update the corresponding vote and refresh the GUI.
Definition at line 5569 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 1308 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 5401 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 5411 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 1525 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 2385 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 3068 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 2398 of file packhand.c.
Referenced by revolution_response(), and revolution_response().
|
static |
Unpack a traditional tech req from a standard requirement vector.
Returns the position in the requirement vector after unpacking. It will increase if a tech req was extracted.
Definition at line 3875 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().
|
inlinestatic |
Incrementally update continent information (sizes and adjacency) for the given tile switching from one continent to another.
ptile is only used to iterate adjacent tiles, i.e. only its index must be accurate; everything else may be mid-change.
Definition at line 3153 of file packhand.c.
Referenced by handle_tile_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 636 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(), city_model_fill_depr(), city_store_fill(), collect_production_targets(), dai_goldequiv_clause(), dai_war_desire(), debug_command(), city_widget::display_list_menu(), kill_something_with(), load_city_name_list(), multiairlift(), nearest_gov_center(), player_base_citizen_happiness(), player_distance_to_player(), city_model::populate(), process_attacker_want(), text_happiness_cities(), 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 141 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.