Feature #152 ยป 0041-Add-either_reqs-support-for-clauses.patch
client/packhand.c | ||
---|---|---|
requirement_vector_append(&info->receiver_reqs, p->receiver_reqs[i]);
|
||
}
|
||
fc_assert(info->receiver_reqs.size == p->receiver_reqs_count);
|
||
for (i = 0; i < p->either_reqs_count; i++) {
|
||
requirement_vector_append(&info->either_reqs, p->either_reqs[i]);
|
||
}
|
||
fc_assert(info->either_reqs.size == p->either_reqs_count);
|
||
}
|
||
/************************************************************************//**
|
common/diptreaty.c | ||
---|---|---|
return FALSE;
|
||
}
|
||
}
|
||
if (client_player == NULL) {
|
||
if (!are_reqs_active(&(const struct req_context) { .player = pfrom },
|
||
pfrom, &clause_infos[type].either_reqs,
|
||
RPT_POSSIBLE)
|
||
&& !are_reqs_active(&(const struct req_context) { .player = pto },
|
||
pfrom, &clause_infos[type].either_reqs,
|
||
RPT_POSSIBLE)) {
|
||
return FALSE;
|
||
}
|
||
}
|
||
clause_list_iterate(ptreaty->clauses, old_clause) {
|
||
if (old_clause->type == type
|
common/diptreaty.h | ||
---|---|---|
bool enabled;
|
||
struct requirement_vector giver_reqs;
|
||
struct requirement_vector receiver_reqs;
|
||
struct requirement_vector either_reqs;
|
||
};
|
||
/* For when we need to iterate over treaties */
|
common/networking/packets.def | ||
---|---|---|
REQUIREMENT giver_reqs[MAX_NUM_REQS:giver_reqs_count];
|
||
UINT8 receiver_reqs_count;
|
||
REQUIREMENT receiver_reqs[MAX_NUM_REQS:receiver_reqs_count];
|
||
UINT8 either_reqs_count;
|
||
REQUIREMENT either_reqs[MAX_NUM_REQS:either_reqs_count];
|
||
end
|
||
/**************************************************************************
|
data/alien/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/civ1/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/civ2/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/civ2civ3/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/classic/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/goldkeep/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/granularity/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/multiplayer/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/ruledit/comments-3.3.txt | ||
---|---|---|
; type = Type of the clause, one of \"Advance\", \"Gold\", \"Map\", \"Seamap\",\n\
|
||
; \"City\", \"Ceasefire\", \"Peace\", \"Alliance\", \"Vision\", \"Embassy\",\n\
|
||
; \"SharedTiles\"\n\
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill\n\
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet\n\
|
||
; (see effects.ruleset and README.effects for help on requirements)\n\
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill\n\
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet\n\
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet\n\
|
||
;\n\
|
||
; */ <-- avoid gettext warnings\n\
|
||
"
|
data/sandbox/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/stub/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
data/webperimental/game.ruleset | ||
---|---|---|
; type = Type of the clause, one of "Advance", "Gold", "Map", "Seamap",
|
||
; "City", "Ceasefire", "Peace", "Alliance", "Vision", "Embassy",
|
||
; "SharedTiles"
|
||
; giver_reqs = requirements that the giving side of the clause needs to fulfill
|
||
; giver_reqs = requirements that the giving side of the clause needs to meet
|
||
; (see effects.ruleset and README.effects for help on requirements)
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to fulfill
|
||
; receiver_reqs = requirements that the receiving side of the clause needs to meet
|
||
; either_reqs = requirements that either side of the clause transaction would need to meet
|
||
;
|
||
; */ <-- avoid gettext warnings
|
||
server/ruleset/ruleload.c | ||
---|---|---|
}
|
||
requirement_vector_copy(&info->receiver_reqs, reqs);
|
||
reqs = lookup_req_list(file, compat, sec_name, "either_reqs", clause_name);
|
||
if (reqs == NULL) {
|
||
ok = FALSE;
|
||
break;
|
||
}
|
||
requirement_vector_copy(&info->either_reqs, reqs);
|
||
info->enabled = TRUE;
|
||
}
|
||
}
|
||
... | ... | |
} requirement_vector_iterate_end;
|
||
packet.receiver_reqs_count = j;
|
||
j = 0;
|
||
requirement_vector_iterate(&info->either_reqs, preq) {
|
||
packet.either_reqs[j++] = *preq;
|
||
} requirement_vector_iterate_end;
|
||
packet.either_reqs_count = j;
|
||
lsend_packet_ruleset_clause(dest, &packet);
|
||
}
|
||
}
|
tools/ruleutil/rulesave.c | ||
---|---|---|
"%s.type", path);
|
||
save_reqs_vector(sfile, &(info->giver_reqs), path, "giver_reqs");
|
||
save_reqs_vector(sfile, &(info->receiver_reqs), path, "receiver_reqs");
|
||
save_reqs_vector(sfile, &(info->either_reqs), path, "either_reqs");
|
||
}
|
||
}
|
||