From cacc8705d7f4cd0a9ce874c2948d7a85caa9e48b Mon Sep 17 00:00:00 2001
From: simonpoole <simon@poole.ch>
Date: Mon, 22 Apr 2024 11:26:43 +0200
Subject: [PATCH] Add roller coaster components

---
 beautified_icons.mapping |  1 +
 josm_icons.mapping       |  1 +
 master_preset.xml        | 15 ++++++++++++++-
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/beautified_icons.mapping b/beautified_icons.mapping
index be173653..87cd210d 100644
--- a/beautified_icons.mapping
+++ b/beautified_icons.mapping
@@ -397,6 +397,7 @@ tourist_theme_park=${ICONPATH}tourist_theme_park.${ICONTYPE}
 leisure_water_park=${ICONPATH}sport_swimming_indoor.${ICONTYPE}
 tourist_water_slide=${ICONPATH}tourist_empty.${ICONTYPE}
 tourist_ride=${ICONPATH}tourist_ride.${ICONTYPE}
+tourist_roller_coaster=${ICONPATH}tourist_theme_park.${ICONTYPE}
 leisure_escape_game=${ICONPATH}tourist_empty.${ICONTYPE}
 leisure_resort=${ICONPATH}tourist_empty.${ICONTYPE}
 tourist_beach_resort=${ICONPATH}tourist_beach_resort_21003.${ICONTYPE}
diff --git a/josm_icons.mapping b/josm_icons.mapping
index 9f24436f..0f894c75 100644
--- a/josm_icons.mapping
+++ b/josm_icons.mapping
@@ -402,6 +402,7 @@ tourist_theme_park=presets/leisure/theme_park.svg
 leisure_water_park=presets/leisure/water_park.svg
 tourist_water_slide=presets/attraction/water_slide.svg
 tourist_ride=
+tourist_roller_coaster=
 leisure_escape_game=
 leisure_resort=presets/leisure/resort.svg
 tourist_beach_resort=presets/leisure/beach_resort.svg
diff --git a/master_preset.xml b/master_preset.xml
index 536dcdf7..d463d1f6 100644
--- a/master_preset.xml
+++ b/master_preset.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <presets version="5.51.1" xmlns="http://josm.openstreetmap.de/tagging-preset-1.0" shortdescription="Default OpenStreetMap Preset for Vespucci and JOSM" 
     description="General purpose OpenStreetMap preset for Vespucci and JOSM, based on the original JOSM version" 
-    object_keys="advertising,attraction,area:highway,building:part,cemetery,club,departures_board,disc_golf,disused:amenity,disused:leisure,disused:man_made,disused:shop,golf,ford,harbour,hazard,noexit,indoor,playground,pipeline,piste:type,police,public_transport,seamark:type,traffic_calming,traffic_sign,traffic_sign:backward,traffic_sign:forward,marker,mountain_pass,telecom">
+    object_keys="advertising,attraction,area:highway,building:part,cemetery,club,departures_board,disc_golf,disused:amenity,disused:leisure,disused:man_made,disused:shop,golf,ford,harbour,hazard,noexit,indoor,playground,pipeline,piste:type,police,public_transport,seamark:type,traffic_calming,traffic_sign,traffic_sign:backward,traffic_sign:forward,marker,mountain_pass,telecom,roller_coaster">
 <!--
     Icons have been derived from mainly from
   
@@ -7275,6 +7275,19 @@
                 <reference ref="wikipedia_wikidata_images" />
             </optional>
         </item> <!-- Rides -->
+        <item name="Roller coaster components" icon="${tourist_roller_coaster}" type="node,way,closedway,multipolygon" preset_name_label="true">
+            <link wiki="Key:roller_coaster"/>
+            <space/>
+            <combo key="roller_coaster" text="Component" values_searchable="true" values_context="leisure" match="keyvalue">
+                <list_entry value="track" display_value="Track"/>
+                <list_entry value="station" display_value="Station"/>
+                <list_entry value="support" display_value="Support"/>
+            </combo>
+            <optional>
+                <text key="name" text="Name"/>
+                <reference ref="layer" />
+            </optional>
+        </item>
         <item name="Escape game" icon="${leisure_escape_game}" type="node,closedway,multipolygon" preset_name_label="true">
             <link wiki="Tag:leisure=escape_game"/>
             <space/>