Author: cazfi Date: Mon Jul 18 21:07:19 2016 New Revision: 33261 URL: http://svn.gna.org/viewcvs/freeciv?rev=33261&view=rev Log: Added tech_class network packet
See patch #7415 Modified: trunk/client/packhand.c trunk/common/networking/packets.def trunk/fc_version trunk/server/ruleset.c Modified: trunk/client/packhand.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/packhand.c?rev=33261&r1=33260&r2=33261&view=diff ============================================================================== --- trunk/client/packhand.c (original) +++ trunk/client/packhand.c Mon Jul 18 21:07:19 2016 @@ -3467,6 +3467,18 @@ PACKET_STRVEC_EXTRACT(a->helptext, p->helptext); tileset_setup_tech_type(tileset, a); +} + +/**************************************************************************** + Packet ruleset_tech_class handler. +****************************************************************************/ +void handle_ruleset_tech_class(const struct packet_ruleset_tech_class *p) +{ + struct tech_class *ptclass = tech_class_by_number(p->id); + + fc_assert_ret_msg(NULL != ptclass, "Bad tech_class %d.", p->id); + + names_set(&ptclass->name, NULL, p->name, p->rule_name); } /**************************************************************************** Modified: trunk/common/networking/packets.def URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/networking/packets.def?rev=33261&r1=33260&r2=33261&view=diff ============================================================================== --- trunk/common/networking/packets.def (original) +++ trunk/common/networking/packets.def Mon Jul 18 21:07:19 2016 @@ -1418,6 +1418,12 @@ STRING graphic_alt[MAX_LEN_NAME]; end +PACKET_RULESET_TECH_CLASS = 9; sc, lsend + UINT16 id; + STRING name[MAX_LEN_NAME]; + STRING rule_name[MAX_LEN_NAME]; +end + PACKET_RULESET_TECH_FLAG = 234; sc, lsend UINT8 id; STRING name[MAX_LEN_NAME]; Modified: trunk/fc_version URL: http://svn.gna.org/viewcvs/freeciv/trunk/fc_version?rev=33261&r1=33260&r2=33261&view=diff ============================================================================== --- trunk/fc_version (original) +++ trunk/fc_version Mon Jul 18 21:07:19 2016 @@ -56,7 +56,7 @@ # - Avoid adding a new mandatory capability to the development branch for # as long as possible. We want to maintain network compatibility with # the stable branch for as long as possible. -NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2016.Jul.15" +NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2016.Jul.18" NETWORK_CAPSTRING_OPTIONAL="" FREECIV_DISTRIBUTOR="" Modified: trunk/server/ruleset.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/ruleset.c?rev=33261&r1=33260&r2=33261&view=diff ============================================================================== --- trunk/server/ruleset.c (original) +++ trunk/server/ruleset.c Mon Jul 18 21:07:19 2016 @@ -169,6 +169,7 @@ static bool load_ruleset_game(struct section_file *file, bool act, struct rscompat_info *compat); +static void send_ruleset_tech_classes(struct conn_list *dest); static void send_ruleset_techs(struct conn_list *dest); static void send_ruleset_unit_classes(struct conn_list *dest); static void send_ruleset_units(struct conn_list *dest); @@ -6682,6 +6683,21 @@ lsend_packet_ruleset_specialist(dest, &packet); } specialist_type_iterate_end; } +/************************************************************************** + Send the techs class information to the specified connections. +**************************************************************************/ +static void send_ruleset_tech_classes(struct conn_list *dest) +{ + struct packet_ruleset_tech_class packet; + + tech_class_iterate(ptclass) { + packet.id = ptclass->idx; + sz_strlcpy(packet.name, untranslated_name(&ptclass->name)); + sz_strlcpy(packet.rule_name, rule_name_get(&ptclass->name)); + + lsend_packet_ruleset_tech_class(dest, &packet); + } tech_class_iterate_end; +} /************************************************************************** Send the techs ruleset information (all individual advances) to the @@ -6720,7 +6736,7 @@ packet.id = advance_number(a); packet.removed = !valid_advance(a); if (a->tclass == NULL) { - packet.tclass = -1; + packet.tclass = 0; } else { packet.tclass = a->tclass->idx; } @@ -7889,6 +7905,7 @@ send_ruleset_actions(dest); send_ruleset_action_enablers(dest); send_ruleset_action_auto_performers(dest); + send_ruleset_tech_classes(dest); send_ruleset_techs(dest); send_ruleset_governments(dest); send_ruleset_unit_classes(dest); _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits