1 #ifndef BUILDING_CONNECTABLE_H 2 #define BUILDING_CONNECTABLE_H 3 4 #include "building/type.h" 5 6 #define BUILDING_CONNECTABLE_ROTATION_LIMIT_HEDGES 3 7 #define BUILDING_CONNECTABLE_ROTATION_LIMIT_PATHS 2 8 9 enum { 10 CONTEXT_HEDGES, 11 CONTEXT_COLONNADE, 12 CONTEXT_GARDEN_TREE_PATH, 13 CONTEXT_GARDEN_PATH_INTERSECTION, 14 CONTEXT_GARDEN_TREELESS_PATH, 15 CONTEXT_GARDEN_WALLS, 16 CONTEXT_GARDEN_GATE, 17 CONTEXT_PALISADES, 18 CONTEXT_MAX_ITEMS 19 }; 20 21 int building_connectable_gate_type(building_type type); 22 23 int building_connectable_get_hedge_offset(int grid_offset); 24 int building_connectable_get_colonnade_offset(int grid_offset); 25 int building_connectable_get_garden_wall_offset(int grid_offset); 26 int building_connectable_get_garden_path_offset(int grid_offset, int context); 27 int building_connectable_get_garden_gate_offset(int grid_offset); 28 int building_connectable_get_palisade_offset(int grid_offset); 29 30 int building_is_connectable(building_type type); 31 32 void building_connectable_update_connections(void); 33 void building_connectable_update_connections_for_type(building_type type); 34 35 36 #endif // BUILDING_CONNECTABLE_H 37