Feature #61 » 0010-Add-map-parameter-for-is_req_active_cb.patch
| common/requirements.c | ||
|---|---|---|
| /* Function pointer for requirement-type-specific is_req_active handlers */ | ||
| typedef enum fc_tristate | ||
| (*is_req_active_cb)(const struct req_context *context, | ||
| (*is_req_active_cb)(const struct civ_map *nmap, | ||
|                     const struct req_context *context, | ||
|                     const struct player *other_player, | ||
|                     const struct requirement *req); | ||
| ... | ... | |
|   context and req must not be null, and req must be a none requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_none_req_active(const struct req_context *context, | ||
| is_none_req_active(const struct civ_map *nmap, | ||
|                    const struct req_context *context, | ||
|                    const struct player *other_player, | ||
|                    const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a building requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_building_req_active(const struct req_context *context, | ||
| is_building_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_buildinggenus_req_active(const struct req_context *context, | ||
| is_buildinggenus_req_active(const struct civ_map *nmap, | ||
|                             const struct req_context *context, | ||
|                             const struct player *other_player, | ||
|                             const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a tech requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_tech_req_active(const struct req_context *context, | ||
| is_tech_req_active(const struct civ_map *nmap, | ||
|                    const struct req_context *context, | ||
|                    const struct player *other_player, | ||
|                    const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a techflag requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_techflag_req_active(const struct req_context *context, | ||
| is_techflag_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a minculture requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_minculture_req_active(const struct req_context *context, | ||
| is_minculture_req_active(const struct civ_map *nmap, | ||
|                          const struct req_context *context, | ||
|                          const struct player *other_player, | ||
|                          const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_minforeignpct_req_active(const struct req_context *context, | ||
| is_minforeignpct_req_active(const struct civ_map *nmap, | ||
|                             const struct req_context *context, | ||
|                             const struct player *other_player, | ||
|                             const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_maxunitsontile_req_active(const struct req_context *context, | ||
| is_maxunitsontile_req_active(const struct civ_map *nmap, | ||
|                              const struct req_context *context, | ||
|                              const struct player *other_player, | ||
|                              const struct requirement *req) | ||
| { | ||
| ... | ... | |
|     if (unit_list_size(context->tile->units) <= max_units) { | ||
|       return TRI_YES; | ||
|     } | ||
|     cardinal_adjc_iterate(&(wld.map), context->tile, adjc_tile) { | ||
|     cardinal_adjc_iterate(nmap, context->tile, adjc_tile) { | ||
|       if (unit_list_size(adjc_tile->units) <= max_units) { | ||
|         return TRI_YES; | ||
|       } | ||
| ... | ... | |
|     if (unit_list_size(context->tile->units) <= max_units) { | ||
|       return TRI_YES; | ||
|     } | ||
|     adjc_iterate(&(wld.map), context->tile, adjc_tile) { | ||
|     adjc_iterate(nmap, context->tile, adjc_tile) { | ||
|       if (unit_list_size(adjc_tile->units) <= max_units) { | ||
|         return TRI_YES; | ||
|       } | ||
| ... | ... | |
|   context and req must not be null, and req must be an extra requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_extra_req_active(const struct req_context *context, | ||
| is_extra_req_active(const struct civ_map *nmap, | ||
|                     const struct req_context *context, | ||
|                     const struct player *other_player, | ||
|                     const struct requirement *req) | ||
| { | ||
|   const struct extra_type *pextra; | ||
|   enum fc_tristate ret; | ||
|   const struct civ_map *nmap = &(wld.map); | ||
|   IS_REQ_ACTIVE_VARIANT_ASSERT(VUT_EXTRA); | ||
| ... | ... | |
|   context and req must not be null, and req must be a goods requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_good_req_active(const struct req_context *context, | ||
|                     const struct player *other_player, | ||
|                     const struct requirement *req) | ||
| is_good_req_active(const struct civ_map *nmap, | ||
|                    const struct req_context *context, | ||
|                    const struct player *other_player, | ||
|                    const struct requirement *req) | ||
| { | ||
|   IS_REQ_ACTIVE_VARIANT_ASSERT(VUT_GOOD); | ||
| ... | ... | |
|   context and req must not be null, and req must be an action requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_action_req_active(const struct req_context *context, | ||
| is_action_req_active(const struct civ_map *nmap, | ||
|                      const struct req_context *context, | ||
|                      const struct player *other_player, | ||
|                      const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_outputtype_req_active(const struct req_context *context, | ||
| is_outputtype_req_active(const struct civ_map *nmap, | ||
|                          const struct req_context *context, | ||
|                          const struct player *other_player, | ||
|                          const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a specialist requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_specialist_req_active(const struct req_context *context, | ||
| is_specialist_req_active(const struct civ_map *nmap, | ||
|                          const struct req_context *context, | ||
|                          const struct player *other_player, | ||
|                          const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a terrain requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_terrain_req_active(const struct req_context *context, | ||
| is_terrain_req_active(const struct civ_map *nmap, | ||
|                       const struct req_context *context, | ||
|                       const struct player *other_player, | ||
|                       const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_terrainclass_req_active(const struct req_context *context, | ||
| is_terrainclass_req_active(const struct civ_map *nmap, | ||
|                            const struct req_context *context, | ||
|                            const struct player *other_player, | ||
|                            const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_terrainflag_req_active(const struct req_context *context, | ||
| is_terrainflag_req_active(const struct civ_map *nmap, | ||
|                           const struct req_context *context, | ||
|                           const struct player *other_player, | ||
|                           const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a roadflag requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_roadflag_req_active(const struct req_context *context, | ||
| is_roadflag_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
|   enum road_flag_id roadflag; | ||
|   enum fc_tristate ret; | ||
|   struct civ_map *nmap = &(wld.map); | ||
|   IS_REQ_ACTIVE_VARIANT_ASSERT(VUT_ROADFLAG); | ||
| ... | ... | |
|   context and req must not be null, and req must be an extraflag requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_extraflag_req_active(const struct req_context *context, | ||
| is_extraflag_req_active(const struct civ_map *nmap, | ||
|                         const struct req_context *context, | ||
|                         const struct player *other_player, | ||
|                         const struct requirement *req) | ||
| { | ||
|   enum extra_flag_id extraflag; | ||
|   enum fc_tristate ret; | ||
|   const struct civ_map *nmap = &(wld.map); | ||
|   IS_REQ_ACTIVE_VARIANT_ASSERT(VUT_EXTRAFLAG); | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_terrainalter_req_active(const struct req_context *context, | ||
| is_terrainalter_req_active(const struct civ_map *nmap, | ||
|                            const struct req_context *context, | ||
|                            const struct player *other_player, | ||
|                            const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a gov requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_gov_req_active(const struct req_context *context, | ||
| is_gov_req_active(const struct civ_map *nmap, | ||
|                   const struct req_context *context, | ||
|                   const struct player *other_player, | ||
|                   const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a style requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_style_req_active(const struct req_context *context, | ||
| is_style_req_active(const struct civ_map *nmap, | ||
|                     const struct req_context *context, | ||
|                     const struct player *other_player, | ||
|                     const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a mintechs requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_mintechs_req_active(const struct req_context *context, | ||
| is_mintechs_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be an AI level requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_ai_req_active(const struct req_context *context, | ||
| is_ai_req_active(const struct civ_map *nmap, | ||
|                  const struct req_context *context, | ||
|                  const struct player *other_player, | ||
|                  const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a nation requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_nation_req_active(const struct req_context *context, | ||
| is_nation_req_active(const struct civ_map *nmap, | ||
|                      const struct req_context *context, | ||
|                      const struct player *other_player, | ||
|                      const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_nationgroup_req_active(const struct req_context *context, | ||
| is_nationgroup_req_active(const struct civ_map *nmap, | ||
|                           const struct req_context *context, | ||
|                           const struct player *other_player, | ||
|                           const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_nationality_req_active(const struct req_context *context, | ||
| is_nationality_req_active(const struct civ_map *nmap, | ||
|                           const struct req_context *context, | ||
|                           const struct player *other_player, | ||
|                           const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a diplrel requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_diplrel_req_active(const struct req_context *context, | ||
| is_diplrel_req_active(const struct civ_map *nmap, | ||
|                       const struct req_context *context, | ||
|                       const struct player *other_player, | ||
|                       const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_diplrel_tile_req_active(const struct req_context *context, | ||
| is_diplrel_tile_req_active(const struct civ_map *nmap, | ||
|                            const struct req_context *context, | ||
|                            const struct player *other_player, | ||
|                            const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_diplrel_tile_o_req_active(const struct req_context *context, | ||
| is_diplrel_tile_o_req_active(const struct civ_map *nmap, | ||
|                              const struct req_context *context, | ||
|                              const struct player *other_player, | ||
|                              const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_diplrel_unitany_req_active(const struct req_context *context, | ||
| is_diplrel_unitany_req_active(const struct civ_map *nmap, | ||
|                               const struct req_context *context, | ||
|                               const struct player *other_player, | ||
|                               const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_diplrel_unitany_o_req_active(const struct req_context *context, | ||
| is_diplrel_unitany_o_req_active(const struct civ_map *nmap, | ||
|                                 const struct req_context *context, | ||
|                                 const struct player *other_player, | ||
|                                 const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a unittype requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_unittype_req_active(const struct req_context *context, | ||
| is_unittype_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a unitflag requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_unitflag_req_active(const struct req_context *context, | ||
| is_unitflag_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a unitclass requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_unitclass_req_active(const struct req_context *context, | ||
| is_unitclass_req_active(const struct civ_map *nmap, | ||
|                         const struct req_context *context, | ||
|                         const struct player *other_player, | ||
|                         const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_unitclassflag_req_active(const struct req_context *context, | ||
| is_unitclassflag_req_active(const struct civ_map *nmap, | ||
|                             const struct req_context *context, | ||
|                             const struct player *other_player, | ||
|                             const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a unitstate requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_unitstate_req_active(const struct req_context *context, | ||
| is_unitstate_req_active(const struct civ_map *nmap, | ||
|                         const struct req_context *context, | ||
|                         const struct player *other_player, | ||
|                         const struct requirement *req) | ||
| { | ||
| ... | ... | |
|     return BOOL_TO_TRISTATE(context->unit->transporter != NULL); | ||
|   case USP_LIVABLE_TILE: | ||
|     return BOOL_TO_TRISTATE( | ||
|           can_unit_exist_at_tile(&(wld.map), context->unit, | ||
|           can_unit_exist_at_tile(nmap, context->unit, | ||
|                                  unit_tile(context->unit))); | ||
|     break; | ||
|   case USP_TRANSPORTING: | ||
| ... | ... | |
|   context and req must not be null, and req must be an activity requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_activity_req_active(const struct req_context *context, | ||
| is_activity_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a minveteran requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_minveteran_req_active(const struct req_context *context, | ||
| is_minveteran_req_active(const struct civ_map *nmap, | ||
|                          const struct req_context *context, | ||
|                          const struct player *other_player, | ||
|                          const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_minmovefrags_req_active(const struct req_context *context, | ||
| is_minmovefrags_req_active(const struct civ_map *nmap, | ||
|                            const struct req_context *context, | ||
|                            const struct player *other_player, | ||
|                            const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_minhitpoints_req_active(const struct req_context *context, | ||
| is_minhitpoints_req_active(const struct civ_map *nmap, | ||
|                            const struct req_context *context, | ||
|                            const struct player *other_player, | ||
|                            const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be an age requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_age_req_active(const struct req_context *context, | ||
| is_age_req_active(const struct civ_map *nmap, | ||
|                   const struct req_context *context, | ||
|                   const struct player *other_player, | ||
|                   const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a citytile requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_citytile_req_active(const struct req_context *context, | ||
| is_citytile_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
| ... | ... | |
|       if (is_city_in_tile(context->tile, context->city)) { | ||
|         return TRI_YES; | ||
|       } | ||
|       cardinal_adjc_iterate(&(wld.map), context->tile, adjc_tile) { | ||
|       cardinal_adjc_iterate(nmap, context->tile, adjc_tile) { | ||
|         if (is_city_in_tile(adjc_tile, context->city)) { | ||
|           return TRI_YES; | ||
|         } | ||
| ... | ... | |
|       if (is_city_in_tile(context->tile, context->city)) { | ||
|         return TRI_YES; | ||
|       } | ||
|       adjc_iterate(&(wld.map), context->tile, adjc_tile) { | ||
|       adjc_iterate(nmap, context->tile, adjc_tile) { | ||
|         if (is_city_in_tile(adjc_tile, context->city)) { | ||
|           return TRI_YES; | ||
|         } | ||
| ... | ... | |
|       if (context->tile->owner != NULL) { | ||
|         return TRI_YES; | ||
|       } | ||
|       cardinal_adjc_iterate(&(wld.map), context->tile, adjc_tile) { | ||
|       cardinal_adjc_iterate(nmap, context->tile, adjc_tile) { | ||
|         if (adjc_tile->owner != NULL) { | ||
|           return TRI_YES; | ||
|         } | ||
| ... | ... | |
|       if (context->tile->owner != NULL) { | ||
|         return TRI_YES; | ||
|       } | ||
|       adjc_iterate(&(wld.map), context->tile, adjc_tile) { | ||
|       adjc_iterate(nmap, context->tile, adjc_tile) { | ||
|         if (adjc_tile->owner != NULL) { | ||
|           return TRI_YES; | ||
|         } | ||
| ... | ... | |
|       if (context->tile->extras_owner != NULL) { | ||
|         return TRI_YES; | ||
|       } | ||
|       cardinal_adjc_iterate(&(wld.map), context->tile, adjc_tile) { | ||
|       cardinal_adjc_iterate(nmap, context->tile, adjc_tile) { | ||
|         if (adjc_tile->extras_owner != NULL) { | ||
|           return TRI_YES; | ||
|         } | ||
| ... | ... | |
|       if (context->tile->extras_owner != NULL) { | ||
|         return TRI_YES; | ||
|       } | ||
|       adjc_iterate(&(wld.map), context->tile, adjc_tile) { | ||
|       adjc_iterate(nmap, context->tile, adjc_tile) { | ||
|         if (adjc_tile->extras_owner != NULL) { | ||
|           return TRI_YES; | ||
|         } | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_citystatus_req_active(const struct req_context *context, | ||
| is_citystatus_req_active(const struct civ_map *nmap, | ||
|                          const struct req_context *context, | ||
|                          const struct player *other_player, | ||
|                          const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a minsize requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_minsize_req_active(const struct req_context *context, | ||
| is_minsize_req_active(const struct civ_map *nmap, | ||
|                       const struct req_context *context, | ||
|                       const struct player *other_player, | ||
|                       const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_achievement_req_active(const struct req_context *context, | ||
| is_achievement_req_active(const struct civ_map *nmap, | ||
|                           const struct req_context *context, | ||
|                           const struct player *other_player, | ||
|                           const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a minyear requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_minyear_req_active(const struct req_context *context, | ||
| is_minyear_req_active(const struct civ_map *nmap, | ||
|                       const struct req_context *context, | ||
|                       const struct player *other_player, | ||
|                       const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a mincalfrag requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_mincalfrag_req_active(const struct req_context *context, | ||
| is_mincalfrag_req_active(const struct civ_map *nmap, | ||
|                          const struct req_context *context, | ||
|                          const struct player *other_player, | ||
|                          const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   context and req must not be null, and req must be a topology requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_topology_req_active(const struct req_context *context, | ||
| is_topology_req_active(const struct civ_map *nmap, | ||
|                        const struct req_context *context, | ||
|                        const struct player *other_player, | ||
|                        const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   requirement | ||
| **************************************************************************/ | ||
| static enum fc_tristate | ||
| is_serversetting_req_active(const struct req_context *context, | ||
| is_serversetting_req_active(const struct civ_map *nmap, | ||
|                             const struct req_context *context, | ||
|                             const struct player *other_player, | ||
|                             const struct requirement *req) | ||
| { | ||
| ... | ... | |
|   fc_assert_ret_val(req_definitions[req->source.kind].cb != NULL, TRI_NO); | ||
|   return req_definitions[req->source.kind].cb(context, other_player, req); | ||
|   return req_definitions[req->source.kind].cb(&(wld.map), context, | ||
|                                               other_player, req); | ||
| } | ||
| /**********************************************************************//** | ||
| common/requirements.h | ||
|---|---|---|
| } | ||
| #endif /* __cplusplus */ | ||
| #endif  /* FC__REQUIREMENTS_H */ | ||
| #endif /* FC__REQUIREMENTS_H */ | ||
| common/road.c | ||
|---|---|---|
|   Returns TRUE iff any cardinally adjacent tile contains a road with | ||
|   the given flag (does not check ptile itself). | ||
| ****************************************************************************/ | ||
| bool is_road_flag_card_near(struct civ_map *nmap, const struct tile *ptile, | ||
| bool is_road_flag_card_near(const struct civ_map *nmap, | ||
|                             const struct tile *ptile, | ||
|                             enum road_flag_id flag) | ||
| { | ||
|   extra_type_by_cause_iterate(EC_ROAD, pextra) { | ||
| ... | ... | |
|   Returns TRUE iff any adjacent tile contains a road with the given flag | ||
|   (does not check ptile itself). | ||
| ****************************************************************************/ | ||
| bool is_road_flag_near_tile(struct civ_map *nmap, const struct tile *ptile, | ||
| bool is_road_flag_near_tile(const struct civ_map *nmap, | ||
|                             const struct tile *ptile, | ||
|                             enum road_flag_id flag) | ||
| { | ||
|   extra_type_by_cause_iterate(EC_ROAD, pextra) { | ||
| common/road.h | ||
|---|---|---|
| /* Functions to operate on a road flag. */ | ||
| bool road_has_flag(const struct road_type *proad, enum road_flag_id flag); | ||
| bool is_road_flag_card_near(struct civ_map *nmap, const struct tile *ptile, | ||
| bool is_road_flag_card_near(const struct civ_map *nmap, const struct tile *ptile, | ||
|                             enum road_flag_id flag); | ||
| bool is_road_flag_near_tile(struct civ_map *nmap, const struct tile *ptile, | ||
| bool is_road_flag_near_tile(const struct civ_map *nmap, const struct tile *ptile, | ||
|                             enum road_flag_id flag); | ||
| bool road_can_be_built(const struct road_type *proad, const struct tile *ptile); | ||
- « Previous
- 1
- 2
- Next »