Author: cazfi Date: Wed Aug 24 09:43:34 2016 New Revision: 33695 URL: http://svn.gna.org/viewcvs/freeciv?rev=33695&view=rev Log: Added value editing for Unit class, Output type, and Good requirement types.
See patch #7646 Modified: trunk/common/unittype.c trunk/common/unittype.h trunk/tools/ruledit/tab_misc.cpp trunk/tools/ruledit/univ_value.c trunk/tools/ruleutil/rulesave.c Modified: trunk/common/unittype.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/unittype.c?rev=33695&r1=33694&r2=33695&view=diff ============================================================================== --- trunk/common/unittype.c (original) +++ trunk/common/unittype.c Wed Aug 24 09:43:34 2016 @@ -1709,6 +1709,7 @@ unit_classes[i].cache.bonus_roads = NULL; unit_classes[i].cache.subset_movers = NULL; unit_classes[i].helptext = NULL; + unit_classes[i].disabled = FALSE; } } Modified: trunk/common/unittype.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/unittype.h?rev=33695&r1=33694&r2=33695&view=diff ============================================================================== --- trunk/common/unittype.h (original) +++ trunk/common/unittype.h Wed Aug 24 09:43:34 2016 @@ -134,6 +134,7 @@ struct unit_class { Unit_Class_id item_number; struct name_translation name; + bool disabled; enum unit_move_type move_type; int min_speed; /* Minimum speed after damage and effects */ int hp_loss_pct; /* Percentage of hitpoints lost each turn not in city or airbase */ @@ -789,6 +790,14 @@ } \ } +#define unit_active_class_iterate(_p) \ + unit_class_iterate(_p) { \ + if (!_p->disabled) { + +#define unit_active_class_iterate_end \ + } \ + } unit_class_iterate_end; + #define SPECLIST_TAG unit_class #define SPECLIST_TYPE struct unit_class #include "speclist.h" Modified: trunk/tools/ruledit/tab_misc.cpp URL: http://svn.gna.org/viewcvs/freeciv/trunk/tools/ruledit/tab_misc.cpp?rev=33695&r1=33694&r2=33695&view=diff ============================================================================== --- trunk/tools/ruledit/tab_misc.cpp (original) +++ trunk/tools/ruledit/tab_misc.cpp Wed Aug 24 09:43:34 2016 @@ -257,7 +257,11 @@ } advance_active_iterate_end; stats->item(row++, 1)->setText(QString::number(count)); - stats->item(row++, 1)->setText(QString::number(game.control.num_unit_classes)); + count = 0; + unit_active_class_iterate(pclass) { + count++; + } unit_active_class_iterate_end; + stats->item(row++, 1)->setText(QString::number(count)); count = 0; unit_active_type_iterate(ptype) { Modified: trunk/tools/ruledit/univ_value.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/tools/ruledit/univ_value.c?rev=33695&r1=33694&r2=33695&view=diff ============================================================================== --- trunk/tools/ruledit/univ_value.c (original) +++ trunk/tools/ruledit/univ_value.c Wed Aug 24 09:43:34 2016 @@ -241,16 +241,28 @@ cb(utype_rule_name(putype), univ->value.utype == putype, data); } unit_active_type_iterate_end; break; + case VUT_UCLASS: + unit_active_class_iterate(pclass) { + cb(uclass_rule_name(pclass), univ->value.uclass == pclass, data); + } unit_active_class_iterate_end; + break; + case VUT_OTYPE: + output_type_iterate(otype) { + cb(get_output_name(otype), univ->value.outputtype == otype, data); + } output_type_iterate_end; + break; + case VUT_GOOD: + goods_active_type_iterate(pgood) { + cb(goods_rule_name(pgood), univ->value.good == pgood, data); + } goods_active_type_iterate_end; + break; case VUT_UTFLAG: - case VUT_UCLASS: case VUT_UCFLAG: - case VUT_OTYPE: case VUT_SPECIALIST: case VUT_AI_LEVEL: case VUT_TERRAINCLASS: case VUT_TERRAINALTER: case VUT_CITYTILE: - case VUT_GOOD: case VUT_TERRFLAG: case VUT_NATIONALITY: case VUT_BASEFLAG: Modified: trunk/tools/ruleutil/rulesave.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/tools/ruleutil/rulesave.c?rev=33695&r1=33694&r2=33695&view=diff ============================================================================== --- trunk/tools/ruleutil/rulesave.c (original) +++ trunk/tools/ruleutil/rulesave.c Wed Aug 24 09:43:34 2016 @@ -2458,7 +2458,7 @@ comment_uclasses(sfile); sect_idx = 0; - unit_class_iterate(puc) { + unit_active_class_iterate(puc) { char path[512]; char *hut_str = NULL; const char *flag_names[UCF_COUNT]; @@ -2506,7 +2506,7 @@ save_strvec(sfile, puc->helptext, path, "helptext"); - } unit_class_iterate_end; + } unit_active_class_iterate_end; comment_utypes(sfile); _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits