Project

General

Profile

Feature #2089 ยป 0028-Replace-aarea-req-is_server-check-by-aarea-existence.patch

Marko Lindqvist, 07/26/2026 08:31 AM

View differences:

common/requirements.c
{
IS_REQ_ACTIVE_VARIANT_ASSERT(VUT_TILEDEF_CONNECTED);
if (!is_server()) {
/* Client does not know about access areas */
return TRI_MAYBE;
}
if (req->range == REQ_RANGE_CITY) {
if (context->city == nullptr
|| context->city->aarea == nullptr) {
......
return TRI_MAYBE;
case CITYS_CAPITALCONNECTED:
if (!is_server()) {
/* Client has no idea. */
return TRI_MAYBE;
}
switch (req->range) {
case REQ_RANGE_CITY:
return BOOL_TO_TRISTATE(context->city->aarea != nullptr
&& context->city->aarea->capital);
if (context->city->aarea == nullptr) {
return TRI_MAYBE;
}
return BOOL_TO_TRISTATE(context->city->aarea->capital);
case REQ_RANGE_TRADE_ROUTE:
{
enum fc_tristate ret;
......
return TRI_YES;
}
ret = TRI_NO;
if (context->city->aarea == nullptr) {
ret = TRI_MAYBE;
} else {
ret = TRI_NO;
}
trade_partners_iterate(context->city, trade_partner) {
if (trade_partner == nullptr) {
if (trade_partner == nullptr
|| trade_partner->aarea == nullptr) {
ret = TRI_MAYBE;
} else if (trade_partner->aarea != nullptr
&& trade_partner->aarea->capital) {
} else if (trade_partner->aarea->capital) {
return TRI_YES;
}
} trade_partners_iterate_end;
    (1-1/1)