diff --git a/data/scenario_patches/Africa - Oasis.json b/data/scenario_patches/Africa - Oasis.json new file mode 100644 index 0000000000..05352b2cd7 --- /dev/null +++ b/data/scenario_patches/Africa - Oasis.json @@ -0,0 +1,21 @@ +{ + "land_ownership": { + "unowned": { + "coordinates": [ + [ 61, 35 ] + ] + }, + "owned": { + "coordinates": [ + [ 46, 87 ] + ] + }, + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 140, 58 ], [ 141, 58 ], [ 142, 58 ], [ 143, 58 ], [ 144, 58 ], [ 145, 58 ], [ 146, 58 ], [ 147, 58 ], + [ 140, 74 ], [ 141, 74 ], [ 142, 74 ], [ 143, 74 ], [ 144, 74 ], [ 145, 74 ], [ 146, 74 ], [ 147, 74 ] + ] + } + } +} diff --git a/data/scenario_patches/Antarctic - Ecological Salvage.json b/data/scenario_patches/Antarctic - Ecological Salvage.json new file mode 100644 index 0000000000..9ba4771b03 --- /dev/null +++ b/data/scenario_patches/Antarctic - Ecological Salvage.json @@ -0,0 +1,20 @@ +{ + "land_ownership": { + "unowned": { + "coordinates": [ + [ 83, 117 ], [ 84, 117 ], + [ 106, 106 ], [ 106, 107 ] + ] + }, + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 90, 8 ], + [ 2, 26 ], [ 2, 27 ], + [ 83, 117 ], [ 84, 117 ], + [ 96, 2 ], [ 97, 2 ], + [ 106, 106 ], [ 106, 107 ] + ] + } + } +} diff --git a/data/scenario_patches/Asia - Japanese Coastal Reclaim.json b/data/scenario_patches/Asia - Japanese Coastal Reclaim.json new file mode 100644 index 0000000000..c8aedfda06 --- /dev/null +++ b/data/scenario_patches/Asia - Japanese Coastal Reclaim.json @@ -0,0 +1,55 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 7, 29 ], + [ 24, 14 ], [ 24, 15 ], [ 24, 16 ], + [ 25, 13 ], [ 25, 14 ], [ 25, 15 ], [ 25, 16 ], [ 25, 17 ], + [ 26, 12 ], [ 26, 13 ], [ 26, 14 ], [ 26, 15 ], [ 26, 16 ], [ 26, 17 ], [ 26, 18 ], [ 26, 19 ], [ 26, 20 ], + [ 27, 11 ], [ 27, 12 ], [ 27, 13 ], [ 27, 14 ], [ 27, 15 ], [ 27, 16 ], [ 27, 17 ], [ 27, 18 ], [ 27, 19 ], [ 27, 20 ], [ 27, 21 ], + [ 28, 8 ], [ 28, 9 ], [ 28, 10 ], [ 28, 11 ], [ 28, 12 ], [ 28, 13 ], [ 28, 14 ], [ 28, 15 ], [ 28, 16 ], [ 28, 17 ], [ 28, 18 ], [ 28, 19 ], [ 28, 20 ], [ 28, 21 ], + [ 29, 6 ], [ 29, 7 ], [ 29, 8 ], [ 29, 9 ], [ 29, 10 ], [ 29, 11 ], [ 29, 12 ], [ 29, 13 ], [ 29, 14 ], [ 29, 15 ], [ 29, 16 ], [ 29, 17 ], [ 29, 18 ], [ 29, 19 ], [ 29, 20 ], [ 29, 21 ], + [ 30, 2 ], [ 30, 3 ], [ 30, 4 ], [ 30, 5 ], [ 30, 6 ], [ 30, 7 ], [ 30, 8 ], [ 30, 9 ], [ 30, 10 ], [ 30, 11 ], [ 30, 12 ], [ 30, 17 ], [ 30, 18 ], [ 30, 19 ], [ 30, 20 ], [ 30, 21 ], + [ 31, 2 ], [ 31, 3 ], [ 31, 4 ], [ 31, 5 ], [ 31, 6 ], [ 31, 7 ], [ 31, 8 ], [ 31, 9 ], [ 31, 10 ], [ 31, 11 ], [ 31, 19 ], [ 31, 20 ], [ 31, 21 ], + [ 32, 2 ], [ 32, 3 ], [ 32, 4 ], [ 32, 5 ], [ 32, 6 ], [ 32, 7 ], [ 32, 8 ], [ 32, 20 ], [ 32, 21 ], + [ 33, 2 ], [ 33, 3 ], [ 33, 4 ], [ 33, 5 ], [ 33, 6 ], [ 33, 7 ], [ 33, 20 ], [ 33, 21 ], + [ 34, 2 ], [ 34, 3 ], [ 34, 4 ], [ 34, 20 ], [ 34, 21 ], + [ 35, 21 ] + ] + }, + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 2, 30 ], [ 3, 30 ], [ 4, 30 ], + [ 25, 23 ] + ] + }, + "construction_rights_available": { + "cannot_downgrade": true, + "coordinates": [ + [ 26, 116 ], + [ 61, 110 ], + [ 64, 113 ], [ 64, 114 ], [ 64, 115 ] + ] + }, + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 6, 100 ], [ 7, 100 ], [ 8, 100 ], [ 9, 100 ], [ 10, 100 ], [ 15, 100 ], [ 16, 100 ], + [ 6, 101 ], [ 7, 101 ], [ 8, 101 ], [ 9, 101 ], [ 10, 101 ], [ 15, 101 ], [ 16, 101 ], + [ 6, 102 ], [ 7, 102 ], [ 8, 102 ], [ 9, 102 ], [ 10, 102 ], [ 14, 102 ], [ 15, 102 ], [ 16, 102 ], + [ 6, 103 ], [ 7, 103 ], [ 8, 103 ], [ 9, 103 ], [ 10, 103 ], [ 12, 103 ], [ 14, 103 ], [ 15, 103 ], [ 16, 103 ], + [ 6, 104 ], [ 7, 104 ], [ 8, 104 ], [ 9, 104 ], [ 10, 104 ], [ 14, 104 ], [ 15, 104 ], [ 16, 104 ], + [ 6, 105 ], [ 7, 105 ], [ 8, 105 ], [ 9, 105 ], [ 10, 105 ], [ 11, 105 ], [ 12, 105 ], [ 13, 105 ], [ 14, 105 ], [ 15, 105 ], [ 16, 105 ], + [ 122, 78 ], [ 122, 79 ], + [ 111, 122 ], [ 112, 122 ], [ 113, 122 ], + [ 120, 15 ], [ 121, 15 ], [ 122, 15 ], + [ 58, 101 ], [ 59, 101 ], [ 59, 102 ], [ 59, 103 ], [ 59, 104 ], [ 59, 105 ], [ 59, 106 ], [ 59, 107 ], [ 60, 104 ], [ 60, 105 ], + [ 60, 106 ], [ 61, 104 ], [ 61, 105 ], + [ 121, 105 ], [ 121, 106 ], [ 121, 107 ], [ 122, 99 ], [ 122, 100 ], [ 122, 101 ], [ 122, 102 ], [ 122, 103 ], [ 122, 104 ], [ 122, 105 ], + [ 122, 106 ], [ 122, 107 ], [ 122, 108 ], [ 122, 109 ], [ 122, 110 ], [ 122, 111 ], [ 122, 112 ], [ 122, 113 ], [ 122, 114 ], [ 122, 115 ], + [ 122, 116 ], [ 122, 117 ], [ 122, 118 ] + ] + } + } +} diff --git a/data/scenario_patches/Asia - Maharaja Palace.json b/data/scenario_patches/Asia - Maharaja Palace.json new file mode 100644 index 0000000000..ad4b6ba91d --- /dev/null +++ b/data/scenario_patches/Asia - Maharaja Palace.json @@ -0,0 +1,20 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 43, 65 ], + [ 69, 41 ], + [ 74, 2 ], + [ 90, 19 ], [ 90, 20 ], + [ 65, 40 ], [ 66, 40 ], [ 67, 40 ], + [ 62, 24 ], [ 63, 24 ], [ 64, 24 ], [ 65, 24 ], [ 65, 25 ], + [ 98, 19 ], [ 98, 20 ], [ 98, 21 ], [ 99, 19 ], [ 99, 20 ], [ 99, 21 ], + [ 51, 28 ], [ 52, 28 ], [ 53, 28 ], [ 54, 28 ], [ 55, 28 ], [ 56, 28 ], [ 51, 29 ], [ 52, 29 ], [ 53, 29 ], [ 54, 29 ], + [ 37, 27 ], [ 37, 28 ], [ 37, 29 ], [ 38, 26 ], [ 38, 27 ], [ 38, 28 ], [ 38, 29 ], [ 39, 26 ], [ 39, 27 ], [ 39, 28 ], [ 39, 29 ], + [ 40, 26 ], [ 40, 27 ], [ 40, 28 ], [ 40, 29 ], [ 40, 30 ], [ 41, 26 ], [ 41, 27 ], [ 41, 28 ], [ 41, 29 ], [ 42, 26 ], [ 42, 27 ], + [ 42, 28 ], [ 42, 29 ], [ 43, 25 ], [ 43, 26 ], [ 43, 27 ], [ 43, 28 ], [ 43, 29 ] + ] + } + } +} diff --git a/data/scenario_patches/Australasia - Fun at the Beach.json b/data/scenario_patches/Australasia - Fun at the Beach.json new file mode 100644 index 0000000000..f2276ae640 --- /dev/null +++ b/data/scenario_patches/Australasia - Fun at the Beach.json @@ -0,0 +1,17 @@ +{ + "land_ownership": { + "unowned": { + "coordinates": [ + [ 63, 97 ], + [ 64, 97 ] + ] + }, + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 63, 97 ], + [ 64, 97 ] + ] + } + } +} diff --git a/data/scenario_patches/Build your own Six Flags Magic Mountain.json b/data/scenario_patches/Build your own Six Flags Magic Mountain.json new file mode 100644 index 0000000000..abe39dfdcd --- /dev/null +++ b/data/scenario_patches/Build your own Six Flags Magic Mountain.json @@ -0,0 +1,16 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 104, 190 ], [ 105, 190 ], [ 108, 197 ], + [ 75, 167 ], + [ 61, 92 ], [ 61, 93 ], [ 61, 94 ], [ 61, 95 ], [ 62, 90 ], [ 62, 91 ], [ 62, 92 ], [ 62, 93 ], [ 62, 94 ], + [ 92, 57 ], [ 93, 57 ], + [ 89, 40 ], [ 89, 41 ], [ 89, 42 ], [ 88, 42 ], + [ 168, 20 ], [ 169, 20 ], + [ 46, 51 ], [ 58, 159 ], [ 71, 201 ], [ 126, 15 ], [ 190, 6 ] + ] + } + } +} diff --git a/data/scenario_patches/Crazy Castle.json b/data/scenario_patches/Crazy Castle.json new file mode 100644 index 0000000000..7e636cf485 --- /dev/null +++ b/data/scenario_patches/Crazy Castle.json @@ -0,0 +1,12 @@ +{ + "land_ownership": { + "available": { + "coordinates": [ + [ 2, 4 ], + [ 2, 62 ], [ 2, 63 ], + [ 2, 83 ], [ 2, 84 ], + [ 9, 4 ] + ] + } + } +} diff --git a/data/scenario_patches/Dark Age - Castle.json b/data/scenario_patches/Dark Age - Castle.json new file mode 100644 index 0000000000..c63c2a6753 --- /dev/null +++ b/data/scenario_patches/Dark Age - Castle.json @@ -0,0 +1,21 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 61, 15 ], + [ 62, 16 ], + [ 34, 51 ], [ 35, 51 ], [ 35, 50 ], + [ 34, 72 ], [ 35, 72 ], [ 35, 73 ], + [ 66, 19 ], [ 66, 20 ], [ 67, 20 ], + [ 75, 85 ], [ 76, 85 ], [ 76, 86 ], + [ 59, 18 ], [ 60, 18 ], [ 60, 17 ], [ 61, 17 ] + ] + }, + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 86, 69 ], [ 86, 70 ] + ] + } + } +} diff --git a/data/scenario_patches/Dark Age - Robin Hood.json b/data/scenario_patches/Dark Age - Robin Hood.json new file mode 100644 index 0000000000..5676c0cdb3 --- /dev/null +++ b/data/scenario_patches/Dark Age - Robin Hood.json @@ -0,0 +1,11 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 104, 64 ], + [ 111, 114 ], [ 112, 114 ] + ] + } + } +} diff --git a/data/scenario_patches/Europe - European Cultural Festival.json b/data/scenario_patches/Europe - European Cultural Festival.json new file mode 100644 index 0000000000..dbe6d5eeb7 --- /dev/null +++ b/data/scenario_patches/Europe - European Cultural Festival.json @@ -0,0 +1,12 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 67, 94 ], [ 68, 94 ], [ 69, 94 ], + [ 58, 24 ], [ 58, 25 ], [ 58, 26 ], [ 58, 27 ], [ 58, 28 ], [ 58, 29 ], [ 58, 30 ], [ 58, 31 ], [ 58, 32 ], + [ 26, 44 ], [ 26, 45 ], + [ 32, 79 ], [ 32, 80 ], [ 32, 81 ] + ] + } + } +} diff --git a/data/scenario_patches/Europe - Renovation.json b/data/scenario_patches/Europe - Renovation.json new file mode 100644 index 0000000000..529d4ae2fe --- /dev/null +++ b/data/scenario_patches/Europe - Renovation.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 12, 21 ] + ] + } + } +} diff --git a/data/scenario_patches/Extreme Heights.json b/data/scenario_patches/Extreme Heights.json new file mode 100644 index 0000000000..6463d245e8 --- /dev/null +++ b/data/scenario_patches/Extreme Heights.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 105, 147 ], [ 106, 147 ], [ 107, 147 ] + ] + } + } +} diff --git a/data/scenario_patches/Ghost Town.json b/data/scenario_patches/Ghost Town.json new file mode 100644 index 0000000000..aec0b9fb32 --- /dev/null +++ b/data/scenario_patches/Ghost Town.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 43, 79 ], [ 42, 80 ], [ 43, 80 ] + ] + } + } +} diff --git a/data/scenario_patches/Great Wall of China Tourism Enhancement.json b/data/scenario_patches/Great Wall of China Tourism Enhancement.json new file mode 100644 index 0000000000..da09688207 --- /dev/null +++ b/data/scenario_patches/Great Wall of China Tourism Enhancement.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 127, 31 ] + ] + } + } +} diff --git a/data/scenario_patches/Mythological - Animatronic Film Set.json b/data/scenario_patches/Mythological - Animatronic Film Set.json new file mode 100644 index 0000000000..6646501098 --- /dev/null +++ b/data/scenario_patches/Mythological - Animatronic Film Set.json @@ -0,0 +1,12 @@ +{ + "land_ownership": { + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 44, 51 ], + [ 47, 50 ], + [ 48, 47 ] + ] + } + } +} diff --git a/data/scenario_patches/Mythological - Cradle of Civilization.json b/data/scenario_patches/Mythological - Cradle of Civilization.json new file mode 100644 index 0000000000..8b77cd2090 --- /dev/null +++ b/data/scenario_patches/Mythological - Cradle of Civilization.json @@ -0,0 +1,21 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 103, 24 ], + [ 104, 25 ], + [ 116, 42 ], [ 116, 43 ], [ 116, 44 ], [ 116, 45 ], [ 116, 46 ], [ 117, 41 ], [ 117, 42 ], [ 117, 43 ], [ 117, 44 ], [ 117, 45 ], [ 117, 46 ] + ] + }, + "owned": { + "coordinates": [ + [ 86, 66 ], [ 86, 67 ], [ 86, 68 ], [ 86, 69 ], [ 86, 70 ], [ 86, 71 ], [ 87, 65 ], [ 87, 66 ], [ 87, 67 ], [ 87, 68 ], [ 87, 69 ], + [ 87, 70 ], [ 87, 71 ], [ 87, 72 ], [ 88, 65 ], [ 88, 66 ], [ 88, 67 ], [ 88, 68 ], [ 88, 69 ], [ 88, 70 ], [ 88, 71 ], [ 88, 72 ], + [ 88, 73 ], [ 88, 74 ], [ 88, 75 ], [ 89, 65 ], [ 89, 66 ], [ 89, 67 ], [ 89, 68 ], [ 89, 69 ], [ 89, 70 ], [ 89, 71 ], [ 89, 72 ], + [ 89, 73 ], [ 89, 74 ], [ 89, 75 ], [ 89, 76 ], [ 90, 64 ], [ 90, 65 ], [ 90, 66 ], [ 90, 67 ], [ 90, 68 ], [ 90, 69 ], [ 90, 70 ], + [ 90, 71 ], [ 90, 72 ], [ 90, 73 ], [ 90, 74 ], [ 90, 75 ], [ 90, 76 ], [ 90, 77 ], [ 91, 67 ], [ 91, 68 ] + ] + } + } +} diff --git a/data/scenario_patches/N America - Extreme Hawaiian Island.json b/data/scenario_patches/N America - Extreme Hawaiian Island.json new file mode 100644 index 0000000000..de17c308fc --- /dev/null +++ b/data/scenario_patches/N America - Extreme Hawaiian Island.json @@ -0,0 +1,29 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 132, 124 ], + [ 133, 124 ], + [ 133, 125 ], + [ 133, 126 ], + [ 119, 35 ], + [ 132, 62 ], + [ 133, 66 ], + [ 133, 67 ], + [ 136, 71 ], + [ 87, 33 ], + [ 87, 34 ], + [ 90, 36 ], + [ 91, 36 ] + ] + }, + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 49, 99 ], + [ 50, 99 ], + [ 88, 110 ] + ] + } + } +} diff --git a/data/scenario_patches/North America - Grand Canyon.json b/data/scenario_patches/North America - Grand Canyon.json new file mode 100644 index 0000000000..b3985cc1fe --- /dev/null +++ b/data/scenario_patches/North America - Grand Canyon.json @@ -0,0 +1,31 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 42, 147 ], + [ 58, 122 ], + [ 87, 147 ] + ] + }, + "construction_rights_available": { + "cannot_downgrade": true, + "coordinates": [ + [ 128, 90 ], + [ 135, 91 ], [ 136, 91 ], + [ 129, 90 ], [ 130, 90 ], [ 131, 90 ], [ 132, 90 ], + [ 137, 92 ], [ 138, 92 ], [ 139, 92 ], [ 140, 92 ], + [ 125, 88 ], [ 126, 89 ], [ 127, 91 ], [ 127, 92 ], [ 127, 93 ], + [ 47, 85 ], [ 48, 85 ], + [ 32, 97 ] + ] + }, + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 98, 64 ], [ 98, 65 ], [ 98, 66 ], + [ 96, 84 ] + ] + } + } +} diff --git a/data/scenario_patches/Prehistoric - Jurassic Safari.json b/data/scenario_patches/Prehistoric - Jurassic Safari.json new file mode 100644 index 0000000000..052a622913 --- /dev/null +++ b/data/scenario_patches/Prehistoric - Jurassic Safari.json @@ -0,0 +1,10 @@ +{ + "land_ownership": { + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 28, 95 ] + ] + } + } +} diff --git a/data/scenario_patches/Prehistoric - Stone Age.json b/data/scenario_patches/Prehistoric - Stone Age.json new file mode 100644 index 0000000000..60eb634c58 --- /dev/null +++ b/data/scenario_patches/Prehistoric - Stone Age.json @@ -0,0 +1,15 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 58, 77 ], + [ 62, 81 ], [ 63, 81 ], [ 64, 81 ], + [ 59, 36 ], [ 60, 36 ], [ 61, 36 ], [ 60, 37 ], [ 61, 37 ], + [ 73, 78 ], [ 73, 79 ], [ 73, 80 ], [ 73, 81 ], [ 73, 82 ], [ 74, 79 ], [ 74, 80 ], [ 74, 81 ], [ 74, 82 ], [ 74, 83 ], + [ 75, 79 ], [ 75, 80 ], [ 75, 81 ], [ 75, 82 ], [ 75, 83 ], [ 76, 79 ], [ 76, 80 ], [ 76, 81 ], [ 76, 82 ], [ 76, 83 ], + [ 77, 79 ], [ 77, 80 ], [ 77, 81 ], [ 77, 82 ], [ 78, 79 ], [ 79, 79 ], [ 80, 79 ], [ 73, 77 ] + ] + } + } +} diff --git a/data/scenario_patches/Roaring Twenties - Schneider Cup.json b/data/scenario_patches/Roaring Twenties - Schneider Cup.json new file mode 100644 index 0000000000..ae9bc48258 --- /dev/null +++ b/data/scenario_patches/Roaring Twenties - Schneider Cup.json @@ -0,0 +1,31 @@ +{ + "land_ownership": { + "construction_rights_available": { + "cannot_downgrade": true, + "coordinates": [ + [ 147, 132 ], + [ 82, 110 ], [ 83, 110 ], + [ 120, 86 ], [ 121, 86 ], + [ 143, 130 ], [ 144, 130 ], + [ 98, 2 ], [ 99, 2 ], [ 100, 2 ], + [ 65, 120 ], [ 65, 121 ], [ 65, 122 ], [ 65, 123 ], + [ 156, 139 ], [ 156, 140 ], [ 156, 141 ], [ 157, 139 ], [ 157, 140 ], [ 157, 141 ], + [ 105, 88 ], [ 106, 86 ], [ 106, 87 ], [ 106, 88 ], [ 107, 86 ], [ 107, 87 ], [ 107, 88 ], + [ 148, 95 ], [ 148, 96 ], [ 148, 97 ], [ 148, 98 ], [ 148, 99 ], [ 149, 97 ], [ 149, 98 ], [ 149, 99 ], [ 150, 97 ], [ 150, 98 ], [ 150, 99 ], + [ 148, 94 ], + [ 84, 111 ], [ 85, 111 ], [ 85, 112 ], [ 85, 113 ], [ 85, 114 ], [ 86, 111 ], [ 86, 112 ], [ 86, 113 ], [ 86, 114 ], [ 87, 111 ], [ 87, 112 ], + [ 87, 113 ], [ 87, 114 ], [ 88, 111 ], [ 88, 112 ], [ 88, 113 ], [ 88, 114 ], [ 88, 115 ], [ 88, 116 ], [ 88, 117 ], [ 89, 111 ], [ 89, 112 ], + [ 89, 113 ], [ 89, 114 ], [ 89, 115 ], [ 89, 116 ], [ 89, 117 ], [ 89, 118 ], [ 89, 119 ], [ 89, 120 ], [ 89, 121 ], [ 90, 113 ], [ 90, 114 ], + [ 90, 115 ], [ 90, 116 ], [ 90, 117 ], [ 90, 118 ], [ 90, 119 ], [ 90, 120 ], [ 90, 121 ], [ 91, 115 ], [ 91, 116 ], [ 91, 117 ], [ 91, 118 ], + [ 91, 119 ], [ 91, 120 ], [ 91, 121 ], [ 92, 115 ], [ 92, 118 ], [ 92, 119 ], [ 92, 120 ], [ 92, 121 ] + ] + }, + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 45, 151 ], + [ 55, 137 ] + ] + } + } +} diff --git a/data/scenario_patches/Rock 'n' Roll - Rock 'n' Roll.json b/data/scenario_patches/Rock 'n' Roll - Rock 'n' Roll.json new file mode 100644 index 0000000000..9d749b97a9 --- /dev/null +++ b/data/scenario_patches/Rock 'n' Roll - Rock 'n' Roll.json @@ -0,0 +1,12 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 13, 95 ], + [ 80, 31 ], + [ 56, 105 ] + ] + } + } +} diff --git a/data/scenario_patches/Six Flags Great Adventure.json b/data/scenario_patches/Six Flags Great Adventure.json new file mode 100644 index 0000000000..6e1050bfba --- /dev/null +++ b/data/scenario_patches/Six Flags Great Adventure.json @@ -0,0 +1,15 @@ +{ + "land_ownership": { + "unowned": { + "coordinates": [ + [ 241, 59 ], + [ 242, 59 ] + ] + }, + "owned": { + "coordinates": [ + [ 145, 31 ] + ] + } + } +} diff --git a/data/scenario_patches/Six Flags Holland.json b/data/scenario_patches/Six Flags Holland.json new file mode 100644 index 0000000000..abe39dfdcd --- /dev/null +++ b/data/scenario_patches/Six Flags Holland.json @@ -0,0 +1,16 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 104, 190 ], [ 105, 190 ], [ 108, 197 ], + [ 75, 167 ], + [ 61, 92 ], [ 61, 93 ], [ 61, 94 ], [ 61, 95 ], [ 62, 90 ], [ 62, 91 ], [ 62, 92 ], [ 62, 93 ], [ 62, 94 ], + [ 92, 57 ], [ 93, 57 ], + [ 89, 40 ], [ 89, 41 ], [ 89, 42 ], [ 88, 42 ], + [ 168, 20 ], [ 169, 20 ], + [ 46, 51 ], [ 58, 159 ], [ 71, 201 ], [ 126, 15 ], [ 190, 6 ] + ] + } + } +} diff --git a/data/scenario_patches/Six Flags Magic Mountain.json b/data/scenario_patches/Six Flags Magic Mountain.json new file mode 100644 index 0000000000..8cc932dfc1 --- /dev/null +++ b/data/scenario_patches/Six Flags Magic Mountain.json @@ -0,0 +1,12 @@ +{ + "land_ownership": { + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 112, 33 ], [ 112, 34 ], + [ 113, 117 ], [ 114, 117 ], [ 115, 117 ], [ 116, 117 ], [ 117, 117 ], + [ 114, 118 ], [ 115, 118 ], [ 116, 118 ], [ 117, 118 ] + ] + } + } +} diff --git a/data/scenario_patches/Six Flags over Texas.json b/data/scenario_patches/Six Flags over Texas.json new file mode 100644 index 0000000000..2fc98a35a1 --- /dev/null +++ b/data/scenario_patches/Six Flags over Texas.json @@ -0,0 +1,15 @@ +{ + "land_ownership": { + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 85, 80 ], + [ 86, 79 ], + [ 96, 71 ], [ 97, 71 ], + [ 90, 42 ], [ 90, 43 ], [ 90, 44 ], [ 90, 45 ], + [ 87, 73 ], [ 87, 74 ], [ 87, 75 ], [ 87, 76 ], [ 87, 77 ], [ 87, 78 ], [ 88, 73 ], [ 88, 74 ], [ 88, 75 ], [ 88, 76 ], + [ 89, 73 ], [ 89, 74 ], [ 89, 75 ], [ 90, 73 ], [ 90, 74 ], [ 90, 75 ], [ 91, 73 ], [ 92, 73 ] + ] + } + } +} diff --git a/data/scenario_patches/South America - Inca Lost City.json b/data/scenario_patches/South America - Inca Lost City.json new file mode 100644 index 0000000000..8fcd07ef75 --- /dev/null +++ b/data/scenario_patches/South America - Inca Lost City.json @@ -0,0 +1,24 @@ +{ + "land_ownership": { + "unowned": { + "coordinates": [ + [ 15, 59 ] + ] + }, + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 11, 64 ], [ 11, 65 ], [ 11, 66 ], + [ 13, 68 ], [ 13, 69 ], + [ 14, 69 ], + [ 15, 59 ], + [ 55, 60 ], + [ 61, 6 ], + [ 86, 63 ], + [ 84, 22 ], [ 84, 23 ], + [ 83, 77 ], [ 84, 77 ], [ 84, 78 ], + [ 44, 61 ], [ 45, 61 ], [ 46, 61 ], [ 45, 62 ] + ] + } + } +} diff --git a/data/scenario_patches/WW Africa - Oasis.json b/data/scenario_patches/WW Africa - Oasis.json new file mode 100644 index 0000000000..8a557d7f80 --- /dev/null +++ b/data/scenario_patches/WW Africa - Oasis.json @@ -0,0 +1,14 @@ +{ + "land_ownership": { + "unowned": { + "coordinates": [ + [ 61, 35 ] + ] + }, + "owned": { + "coordinates": [ + [ 46, 87 ] + ] + } + } +} diff --git a/data/scenario_patches/WW Asia - Japanese Coastal Reclaim.json b/data/scenario_patches/WW Asia - Japanese Coastal Reclaim.json new file mode 100644 index 0000000000..c8aedfda06 --- /dev/null +++ b/data/scenario_patches/WW Asia - Japanese Coastal Reclaim.json @@ -0,0 +1,55 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 7, 29 ], + [ 24, 14 ], [ 24, 15 ], [ 24, 16 ], + [ 25, 13 ], [ 25, 14 ], [ 25, 15 ], [ 25, 16 ], [ 25, 17 ], + [ 26, 12 ], [ 26, 13 ], [ 26, 14 ], [ 26, 15 ], [ 26, 16 ], [ 26, 17 ], [ 26, 18 ], [ 26, 19 ], [ 26, 20 ], + [ 27, 11 ], [ 27, 12 ], [ 27, 13 ], [ 27, 14 ], [ 27, 15 ], [ 27, 16 ], [ 27, 17 ], [ 27, 18 ], [ 27, 19 ], [ 27, 20 ], [ 27, 21 ], + [ 28, 8 ], [ 28, 9 ], [ 28, 10 ], [ 28, 11 ], [ 28, 12 ], [ 28, 13 ], [ 28, 14 ], [ 28, 15 ], [ 28, 16 ], [ 28, 17 ], [ 28, 18 ], [ 28, 19 ], [ 28, 20 ], [ 28, 21 ], + [ 29, 6 ], [ 29, 7 ], [ 29, 8 ], [ 29, 9 ], [ 29, 10 ], [ 29, 11 ], [ 29, 12 ], [ 29, 13 ], [ 29, 14 ], [ 29, 15 ], [ 29, 16 ], [ 29, 17 ], [ 29, 18 ], [ 29, 19 ], [ 29, 20 ], [ 29, 21 ], + [ 30, 2 ], [ 30, 3 ], [ 30, 4 ], [ 30, 5 ], [ 30, 6 ], [ 30, 7 ], [ 30, 8 ], [ 30, 9 ], [ 30, 10 ], [ 30, 11 ], [ 30, 12 ], [ 30, 17 ], [ 30, 18 ], [ 30, 19 ], [ 30, 20 ], [ 30, 21 ], + [ 31, 2 ], [ 31, 3 ], [ 31, 4 ], [ 31, 5 ], [ 31, 6 ], [ 31, 7 ], [ 31, 8 ], [ 31, 9 ], [ 31, 10 ], [ 31, 11 ], [ 31, 19 ], [ 31, 20 ], [ 31, 21 ], + [ 32, 2 ], [ 32, 3 ], [ 32, 4 ], [ 32, 5 ], [ 32, 6 ], [ 32, 7 ], [ 32, 8 ], [ 32, 20 ], [ 32, 21 ], + [ 33, 2 ], [ 33, 3 ], [ 33, 4 ], [ 33, 5 ], [ 33, 6 ], [ 33, 7 ], [ 33, 20 ], [ 33, 21 ], + [ 34, 2 ], [ 34, 3 ], [ 34, 4 ], [ 34, 20 ], [ 34, 21 ], + [ 35, 21 ] + ] + }, + "construction_rights_owned": { + "cannot_downgrade": true, + "coordinates": [ + [ 2, 30 ], [ 3, 30 ], [ 4, 30 ], + [ 25, 23 ] + ] + }, + "construction_rights_available": { + "cannot_downgrade": true, + "coordinates": [ + [ 26, 116 ], + [ 61, 110 ], + [ 64, 113 ], [ 64, 114 ], [ 64, 115 ] + ] + }, + "available": { + "cannot_downgrade": true, + "coordinates": [ + [ 6, 100 ], [ 7, 100 ], [ 8, 100 ], [ 9, 100 ], [ 10, 100 ], [ 15, 100 ], [ 16, 100 ], + [ 6, 101 ], [ 7, 101 ], [ 8, 101 ], [ 9, 101 ], [ 10, 101 ], [ 15, 101 ], [ 16, 101 ], + [ 6, 102 ], [ 7, 102 ], [ 8, 102 ], [ 9, 102 ], [ 10, 102 ], [ 14, 102 ], [ 15, 102 ], [ 16, 102 ], + [ 6, 103 ], [ 7, 103 ], [ 8, 103 ], [ 9, 103 ], [ 10, 103 ], [ 12, 103 ], [ 14, 103 ], [ 15, 103 ], [ 16, 103 ], + [ 6, 104 ], [ 7, 104 ], [ 8, 104 ], [ 9, 104 ], [ 10, 104 ], [ 14, 104 ], [ 15, 104 ], [ 16, 104 ], + [ 6, 105 ], [ 7, 105 ], [ 8, 105 ], [ 9, 105 ], [ 10, 105 ], [ 11, 105 ], [ 12, 105 ], [ 13, 105 ], [ 14, 105 ], [ 15, 105 ], [ 16, 105 ], + [ 122, 78 ], [ 122, 79 ], + [ 111, 122 ], [ 112, 122 ], [ 113, 122 ], + [ 120, 15 ], [ 121, 15 ], [ 122, 15 ], + [ 58, 101 ], [ 59, 101 ], [ 59, 102 ], [ 59, 103 ], [ 59, 104 ], [ 59, 105 ], [ 59, 106 ], [ 59, 107 ], [ 60, 104 ], [ 60, 105 ], + [ 60, 106 ], [ 61, 104 ], [ 61, 105 ], + [ 121, 105 ], [ 121, 106 ], [ 121, 107 ], [ 122, 99 ], [ 122, 100 ], [ 122, 101 ], [ 122, 102 ], [ 122, 103 ], [ 122, 104 ], [ 122, 105 ], + [ 122, 106 ], [ 122, 107 ], [ 122, 108 ], [ 122, 109 ], [ 122, 110 ], [ 122, 111 ], [ 122, 112 ], [ 122, 113 ], [ 122, 114 ], [ 122, 115 ], + [ 122, 116 ], [ 122, 117 ], [ 122, 118 ] + ] + } + } +} diff --git a/data/scenario_patches/coaster canyon.json b/data/scenario_patches/coaster canyon.json new file mode 100644 index 0000000000..8e1f378ccd --- /dev/null +++ b/data/scenario_patches/coaster canyon.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 21, 55 ] + ] + } + } +} diff --git a/data/scenario_patches/grand glacier.json b/data/scenario_patches/grand glacier.json new file mode 100644 index 0000000000..0058c62f32 --- /dev/null +++ b/data/scenario_patches/grand glacier.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 99, 58 ] + ] + } + } +} diff --git a/data/scenario_patches/katie's dreamland.json b/data/scenario_patches/katie's dreamland.json new file mode 100644 index 0000000000..81e6e500ec --- /dev/null +++ b/data/scenario_patches/katie's dreamland.json @@ -0,0 +1,14 @@ +{ + "land_ownership": { + "construction_rights_owned": { + "coordinates": [ + [ 115, 63 ], [ 105, 66 ], [ 109, 66 ] + ] + }, + "owned": { + "coordinates": [ + [ 45, 69 ], [ 59, 74 ] + ] + } + } +} diff --git a/data/scenario_patches/mel's world.json b/data/scenario_patches/mel's world.json new file mode 100644 index 0000000000..6a01730780 --- /dev/null +++ b/data/scenario_patches/mel's world.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 93, 76 ], [ 93, 77 ] + ] + } + } +} diff --git a/data/scenario_patches/pleasure island.json b/data/scenario_patches/pleasure island.json new file mode 100644 index 0000000000..485a37fafb --- /dev/null +++ b/data/scenario_patches/pleasure island.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "construction_rights_owned": { + "coordinates": [ + [ 37, 66 ] + ] + } + } +} diff --git a/data/scenario_patches/rotting heights.json b/data/scenario_patches/rotting heights.json new file mode 100644 index 0000000000..539ab420bf --- /dev/null +++ b/data/scenario_patches/rotting heights.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 35, 20 ] + ] + } + } +} diff --git a/data/scenario_patches/three monkeys park.json b/data/scenario_patches/three monkeys park.json new file mode 100644 index 0000000000..ab84674800 --- /dev/null +++ b/data/scenario_patches/three monkeys park.json @@ -0,0 +1,14 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 46, 22 ] + ] + }, + "unowned": { + "coordinates": [ + [ 89, 92 ] + ] + } + } +} diff --git a/data/scenario_patches/trinity islands.json b/data/scenario_patches/trinity islands.json new file mode 100644 index 0000000000..7a0b35fff9 --- /dev/null +++ b/data/scenario_patches/trinity islands.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "construction_rights_owned": { + "coordinates": [ + [ 80, 60 ] + ] + } + } +} diff --git a/data/scenario_patches/white water park.json b/data/scenario_patches/white water park.json new file mode 100644 index 0000000000..c56f697c5e --- /dev/null +++ b/data/scenario_patches/white water park.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "construction_rights_owned": { + "coordinates": [ + [ 42, 85 ], [ 89, 42 ] + ] + } + } +} diff --git a/data/scenario_patches/woodworm park.json b/data/scenario_patches/woodworm park.json new file mode 100644 index 0000000000..c1d68f8067 --- /dev/null +++ b/data/scenario_patches/woodworm park.json @@ -0,0 +1,9 @@ +{ + "land_ownership": { + "owned": { + "coordinates": [ + [ 62, 105 ], [ 101, 55 ] + ] + } + } +} diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index 3237d64129..24b7276227 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -54,6 +54,7 @@ #include "../rct12/EntryList.h" #include "../rct12/RCT12.h" #include "../rct12/SawyerChunkReader.h" +#include "../rct12/ScenarioPatcher.h" #include "../rct2/RCT2.h" #include "../ride/Ride.h" #include "../ride/RideData.h" @@ -538,620 +539,9 @@ namespace OpenRCT2::RCT2 // Checking _s6.ScenarioFilename is generally more reliable as it survives renaming. // However, some WW/TT scenarios have this incorrectly set to "Six Flags Magic Mountain.SC6", // so for those cases (as well as for SFMM proper, we’ll have to check the filename. - if (String::Equals(_s6.ScenarioFilename, "Europe - European Cultural Festival.SC6")) - { - // This scenario breaks pathfinding. Create passages between the worlds. (List is grouped by neighbouring - // tiles.) - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 67, 94 }, { 68, 94 }, { 69, 94 }, - { 58, 24 }, { 58, 25 }, { 58, 26 }, { 58, 27 }, { 58, 28 }, { 58, 29 }, { 58, 30 }, { 58, 31 }, { 58, 32 }, - { 26, 44 }, { 26, 45 }, - { 32, 79 }, { 32, 80 }, { 32, 81 }, - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "trinity islands.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 80, 60 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "katie's dreamland.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 115, 63 }, { 105, 66 }, { 109, 66 }, /*{ 118, 67 }*/ - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED); - FixLandOwnershipTilesWithOwnership( - { - { 45, 69 }, { 59, 74 } - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "white water park.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 42, 85 }, { 89, 42 } - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "mel's world.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 93, 76 }, { 93, 77 } - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "three monkeys park.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 46, 22 } - }, - OWNERSHIP_OWNED); - FixLandOwnershipTilesWithOwnership( - { - { 89, 92 } - }, - OWNERSHIP_UNOWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "coaster canyon.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 21, 55 } - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "rotting heights.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 35, 20 } - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "grand glacier.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 99, 58 } - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "woodworm park.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 62, 105 }, { 101, 55 } - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(gScenarioFileName, "pleasure island.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 37, 66 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Crazy Castle.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 2, 4 }, { 2, 62 }, { 2, 63 }, { 2, 83 }, { 2, 84 }, { 9, 4 } - }, - OWNERSHIP_AVAILABLE); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Extreme Heights.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 105, 147 }, { 106, 147 }, { 107, 147 }, - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Ghost Town.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 43, 79 }, { 42, 80 }, { 43, 80 }, - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Six Flags Great Adventure.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 241, 59 }, { 242, 59 }, - }, - OWNERSHIP_UNOWNED); - FixLandOwnershipTilesWithOwnership( - { - { 145, 31 } - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Six Flags Holland.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 112, 33 }, { 112, 34 }, - { 113, 117 }, { 114, 117 }, { 115, 117 }, { 116, 117 }, { 117, 117 }, { 114, 118 }, { 115, 118 }, { 116, 118 }, { 117, 118 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "Six Flags Magic Mountain.SC6") - || String::IEquals(gScenarioFileName, "six flags magic mountain.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 104, 190 }, { 105, 190 }, { 108, 197 }, - { 75, 167 }, - { 61, 92 }, { 61, 93 }, { 61, 94 }, { 61, 95 }, { 62, 90 }, { 62, 91 }, { 62, 92 }, { 62, 93 }, { 62, 94 }, - { 92, 57 }, { 93, 57 }, - { 89, 40 }, { 89, 41 }, { 89, 42 }, { 88, 42 }, - { 168, 20 }, { 169, 20 }, - { 46, 51 }, { 58, 159 }, { 71, 201 }, { 126, 15 }, { 190, 6 } - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "Build your own Six Flags Magic Mountain.SC6") - || String::IEquals(gScenarioFileName, "build your own six flags magic mountain.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 104, 190 }, { 105, 190 }, { 108, 197 }, - { 75, 167 }, - { 61, 92 }, { 61, 93 }, { 61, 94 }, { 61, 95 }, { 62, 90 }, { 62, 91 }, { 62, 92 }, { 62, 93 }, { 62, 94 }, - { 92, 57 }, { 93, 57 }, - { 89, 40 }, { 89, 41 }, { 89, 42 }, { 88, 42 }, - { 168, 20 }, { 169, 20 }, - { 46, 51 }, { 58, 159 }, { 71, 201 }, { 126, 15 }, { 190, 6 } - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Six Flags over Texas.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 85, 80 }, - { 86, 79 }, - { 96, 71 }, { 97, 71 }, - { 90, 42 }, { 90, 43 }, { 90, 44 }, { 90, 45 }, - { 87, 73 }, { 87, 74 }, { 87, 75 }, { 87, 76 }, { 87, 77 }, { 87, 78 }, { 88, 73 }, { 88, 74 }, { 88, 75 }, { 88, 76 }, - { 89, 73 }, { 89, 74 }, { 89, 75 }, { 90, 73 }, { 90, 74 }, { 90, 75 }, { 91, 73 }, { 92, 73 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Great Wall of China Tourism Enhancement.SC6")) - { - //clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 127, 31 }, - }, - OWNERSHIP_OWNED); - //clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "North America - Grand Canyon.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 42, 147 }, { 58, 122 }, { 87, 147 } - }, - OWNERSHIP_AVAILABLE, true); - FixLandOwnershipTilesWithOwnership( - { - { 128, 90 }, - { 135, 91 }, { 136, 91 }, - { 129, 90 }, { 130, 90 }, { 131, 90 }, { 132, 90 }, - { 137, 92 }, { 138, 92 }, { 139, 92 }, { 140, 92 }, - { 125, 88 }, { 126, 89 }, { 127, 91 }, { 127, 92 }, { 127, 93 }, - { 47, 85 }, { 48, 85 }, - { 32, 97 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE, true); - FixLandOwnershipTilesWithOwnership( - { - { 98, 64 }, { 98, 65 }, { 98, 66 }, - { 96, 84 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED, true); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "Asia - Maharaja Palace.SC6") - || String::IEquals(gScenarioFileName, "asia - maharaja palace.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 43, 65 }, - { 69, 41 }, - { 74, 2 }, - { 90, 19 }, { 90, 20 }, - { 65, 40 }, { 66, 40 }, { 67, 40 }, - { 62, 24 }, { 63, 24 }, { 64, 24 }, { 65, 24 }, { 65, 25 }, - { 98, 19 }, { 98, 20 }, { 98, 21 }, { 99, 19 }, { 99, 20 }, { 99, 21 }, - { 51, 28 }, { 52, 28 }, { 53, 28 }, { 54, 28 }, { 55, 28 }, { 56, 28 }, { 51, 29 }, { 52, 29 }, { 53, 29 }, { 54, 29 }, - { 37, 27 }, { 37, 28 }, { 37, 29 }, { 38, 26 }, { 38, 27 }, { 38, 28 }, { 38, 29 }, { 39, 26 }, { 39, 27 }, { 39, 28 }, { 39, 29 }, - { 40, 26 }, { 40, 27 }, { 40, 28 }, { 40, 29 }, { 40, 30 }, { 41, 26 }, { 41, 27 }, { 41, 28 }, { 41, 29 }, { 42, 26 }, { 42, 27 }, - { 42, 28 }, { 42, 29 }, { 43, 25 }, { 43, 26 }, { 43, 27 }, { 43, 28 }, { 43, 29 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "South America - Inca Lost City.SC6") - || String::IEquals(gScenarioFileName, "south america - inca lost city.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 15, 59 }, - }, - OWNERSHIP_UNOWNED); - FixLandOwnershipTilesWithOwnership( - { - { 11, 64 }, { 11, 65 }, { 11, 66 }, - { 13, 68 }, { 13, 69 }, - { 14, 69 }, - { 15, 59 }, - { 55, 60 }, - { 61, 6 }, - { 86, 63 }, - { 84, 22 }, { 84, 23 }, - { 83, 77 }, { 84, 77 }, { 84, 78 }, - { 44, 61 }, { 45, 61 }, { 46, 61 }, { 45, 62 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED, true); - // clang-format on - } - else if ( - String::Equals(_s6.ScenarioFilename, "WW Africa - Oasis.SC6", true) - || String::Equals(_s6.ScenarioFilename, "Africa - Oasis.SC6", true)) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 61, 35 }, - }, - OWNERSHIP_UNOWNED); - FixLandOwnershipTilesWithOwnership( - { - { 46, 87 }, - }, - OWNERSHIP_OWNED); - FixLandOwnershipTilesWithOwnership( - { - { 140, 58 }, { 141, 58 }, { 142, 58 }, { 143, 58 }, { 144, 58 }, { 145, 58 }, { 146, 58 }, { 147, 58 }, - { 140, 74 }, { 141, 74 }, { 142, 74 }, { 143, 74 }, { 144, 74 }, { 145, 74 }, { 146, 74 }, { 147, 74 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED, true); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "Antarctic - Ecological Salvage.SC6") - || String::IEquals(gScenarioFileName, "antarctic - ecological salvage.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 83, 117 }, { 84, 117 }, - { 106, 106 }, { 106, 107 }, - }, - OWNERSHIP_UNOWNED); - FixLandOwnershipTilesWithOwnership( - { - { 90, 8 }, - { 2, 26 }, { 2, 27 }, - { 83, 117 }, { 84, 117 }, - { 96, 2 }, { 97, 2 }, - { 106, 106 }, { 106, 107 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if ( - String::Equals(_s6.ScenarioFilename, "WW Asia - Japanese Coastal Reclaim.SC6", true) - || String::Equals(_s6.ScenarioFilename, "Asia - Japanese Coastal Reclaim.SC6", true)) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 7, 29 }, - { 24, 14 }, { 24, 15 }, { 24, 16 }, - { 25, 13 }, { 25, 14 }, { 25, 15 }, { 25, 16 }, { 25, 17 }, - { 26, 12 }, { 26, 13 }, { 26, 14 }, { 26, 15 }, { 26, 16 }, { 26, 17 }, { 26, 18 }, { 26, 19 }, { 26, 20 }, - { 27, 11 }, { 27, 12 }, { 27, 13 }, { 27, 14 }, { 27, 15 }, { 27, 16 }, { 27, 17 }, { 27, 18 }, { 27, 19 }, { 27, 20 }, { 27, 21 }, - { 28, 8 }, { 28, 9 }, { 28, 10 }, { 28, 11 }, { 28, 12 }, { 28, 13 }, { 28, 14 }, { 28, 15 }, { 28, 16 }, { 28, 17 }, { 28, 18 }, { 28, 19 }, { 28, 20 }, { 28, 21 }, - { 29, 6 }, { 29, 7 }, { 29, 8 }, { 29, 9 }, { 29, 10 }, { 29, 11 }, { 29, 12 }, { 29, 13 }, { 29, 14 }, { 29, 15 }, { 29, 16 }, { 29, 17 }, { 29, 18 }, { 29, 19 }, { 29, 20 }, { 29, 21 }, - { 30, 2 }, { 30, 3 }, { 30, 4 }, { 30, 5 }, { 30, 6 }, { 30, 7 }, { 30, 8 }, { 30, 9 }, { 30, 10 }, { 30, 11 }, { 30, 12 }, { 30, 17 }, { 30, 18 }, { 30, 19 }, { 30, 20 }, { 30, 21 }, - { 31, 2 }, { 31, 3 }, { 31, 4 }, { 31, 5 }, { 31, 6 }, { 31, 7 }, { 31, 8 }, { 31, 9 }, { 31, 10 }, { 31, 11 }, { 31, 19 }, { 31, 20 }, { 31, 21 }, - { 32, 2 }, { 32, 3 }, { 32, 4 }, { 32, 5 }, { 32, 6 }, { 32, 7 }, { 32, 8 }, { 32, 20 }, { 32, 21 }, - { 33, 2 }, { 33, 3 }, { 33, 4 }, { 33, 5 }, { 33, 6 }, { 33, 7 }, { 33, 20 }, { 33, 21 }, - { 34, 2 }, { 34, 3 }, { 34, 4 }, { 34, 20 }, { 34, 21 }, - { 35, 21 }, - }, - OWNERSHIP_OWNED); - FixLandOwnershipTilesWithOwnership( - { - { 2, 30 }, { 3, 30 }, { 4, 30 }, - { 25, 23 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED, true); - FixLandOwnershipTilesWithOwnership( - { - { 26, 116 }, - { 61, 110 }, - { 64, 113 }, { 64, 114 }, { 64, 115 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE, true); - FixLandOwnershipTilesWithOwnership( - { - { 6, 100 }, { 7, 100 }, { 8, 100 }, { 9, 100 }, { 10, 100 }, { 15, 100 }, { 16, 100 }, - { 6, 101 }, { 7, 101 }, { 8, 101 }, { 9, 101 }, { 10, 101 }, { 15, 101 }, { 16, 101 }, - { 6, 102 }, { 7, 102 }, { 8, 102 }, { 9, 102 }, { 10, 102 }, { 14, 102 }, { 15, 102 }, { 16, 102 }, - { 6, 103 }, { 7, 103 }, { 8, 103 }, { 9, 103 }, { 10, 103 }, { 12, 103 }, { 14, 103 }, { 15, 103 }, { 16, 103 }, - { 6, 104 }, { 7, 104 }, { 8, 104 }, { 9, 104 }, { 10, 104 }, { 14, 104 }, { 15, 104 }, { 16, 104 }, - { 6, 105 }, { 7, 105 }, { 8, 105 }, { 9, 105 }, { 10, 105 }, { 11, 105 }, { 12, 105 }, { 13, 105 }, { 14, 105 }, { 15, 105 }, { 16, 105 }, - { 122, 78 }, { 122, 79 }, - { 111, 122 }, { 112, 122 }, { 113, 122 }, - { 120, 15 }, { 121, 15 }, { 122, 15 }, - { 58, 101 }, { 59, 101 }, { 59, 102 }, { 59, 103 }, { 59, 104 }, { 59, 105 }, { 59, 106 }, { 59, 107 }, { 60, 104 }, { 60, 105 }, - { 60, 106 }, { 61, 104 }, { 61, 105 }, - { 121, 105 }, { 121, 106 }, { 121, 107 }, { 122, 99 }, { 122, 100 }, { 122, 101 }, { 122, 102 }, { 122, 103 }, { 122, 104 }, { 122, 105 }, - { 122, 106 }, { 122, 107 }, { 122, 108 }, { 122, 109 }, { 122, 110 }, { 122, 111 }, { 122, 112 }, { 122, 113 }, { 122, 114 }, { 122, 115 }, - { 122, 116 }, { 122, 117 }, { 122, 118 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Australasia - Fun at the Beach.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 63, 97 }, - { 64, 97 }, - }, - OWNERSHIP_UNOWNED); - FixLandOwnershipTilesWithOwnership( - { - { 63, 97 }, - { 64, 97 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Europe - Renovation.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 12, 21 }, - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "N America - Extreme Hawaiian Island.SC6") - || String::IEquals(gScenarioFileName, "n america - extreme hawaiian island.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 132, 124 }, - { 133, 124 }, - { 133, 125 }, - { 133, 126 }, - { 119, 35 }, - { 132, 62 }, - { 133, 66 }, - { 133, 67 }, - { 136, 71 }, - { 87, 33 }, - { 87, 34 }, - { 90, 36 }, - { 91, 36 }, - }, - OWNERSHIP_OWNED); - // We set the doNotDowngrade flag for cases where the player has used a cheat to own all land. - FixLandOwnershipTilesWithOwnership( - { - { 49, 99 }, - { 50, 99 }, - { 88, 110 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Dark Age - Robin Hood.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 104, 64 }, - { 111, 114 }, { 112, 114 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "Dark Age - Castle.SC6") - || String::IEquals(gScenarioFileName, "dark age - castle.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 61, 15 }, - { 62, 16 }, - { 34, 51 }, { 35, 51 }, { 35, 50 }, - { 34, 72 }, { 35, 72 }, { 35, 73 }, - { 66, 19 }, { 66, 20 }, { 67, 20 }, - { 75, 85 }, { 76, 85 }, { 76, 86 }, - { 59, 18 }, { 60, 18 }, { 60, 17 }, { 61, 17 }, - }, - OWNERSHIP_OWNED); - FixLandOwnershipTilesWithOwnership( - { - { 86, 69 }, { 86, 70 } - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Mythological - Animatronic Film Set.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 44, 51 }, - { 47, 50 }, - { 48, 47 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Prehistoric - Jurassic Safari.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 28, 95 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_OWNED, true); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "Roaring Twenties - Schneider Cup.SC6") - || String::IEquals(gScenarioFileName, "roaring twenties - schneider cup.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 147, 132 }, - { 82, 110 }, { 83, 110 }, - { 120, 86 }, { 121, 86 }, - { 143, 130 }, { 144, 130 }, - { 98, 2 }, { 99, 2 }, { 100, 2 }, - { 65, 120 }, { 65, 121 }, { 65, 122 }, { 65, 123 }, - { 156, 139 }, { 156, 140 }, { 156, 141 }, { 157, 139 }, { 157, 140 }, { 157, 141 }, - { 105, 88 }, { 106, 86 }, { 106, 87 }, { 106, 88 }, { 107, 86 }, { 107, 87 }, { 107, 88 }, - { 148, 95 }, { 148, 96 }, { 148, 97 }, { 148, 98 }, { 148, 99 }, { 149, 97 }, { 149, 98 }, { 149, 99 }, { 150, 97 }, { 150, 98 }, { 150, 99 }, - { 148, 94 }, - { 84, 111 }, { 85, 111 }, { 85, 112 }, { 85, 113 }, { 85, 114 }, { 86, 111 }, { 86, 112 }, { 86, 113 }, { 86, 114 }, { 87, 111 }, { 87, 112 }, - { 87, 113 }, { 87, 114 }, { 88, 111 }, { 88, 112 }, { 88, 113 }, { 88, 114 }, { 88, 115 }, { 88, 116 }, { 88, 117 }, { 89, 111 }, { 89, 112 }, - { 89, 113 }, { 89, 114 }, { 89, 115 }, { 89, 116 }, { 89, 117 }, { 89, 118 }, { 89, 119 }, { 89, 120 }, { 89, 121 }, { 90, 113 }, { 90, 114 }, - { 90, 115 }, { 90, 116 }, { 90, 117 }, { 90, 118 }, { 90, 119 }, { 90, 120 }, { 90, 121 }, { 91, 115 }, { 91, 116 }, { 91, 117 }, { 91, 118 }, - { 91, 119 }, { 91, 120 }, { 91, 121 }, { 92, 115 }, { 92, 118 }, { 92, 119 }, { 92, 120 }, { 92, 121 }, - }, - OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE, true); - FixLandOwnershipTilesWithOwnership( - { - { 45, 151 }, - { 55, 137 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Mythological - Cradle of Civilization.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 103, 24 }, - { 104, 25 }, - { 116, 42 }, { 116, 43 }, { 116, 44 }, { 116, 45 }, { 116, 46 }, { 117, 41 }, { 117, 42 }, { 117, 43 }, { 117, 44 }, { 117, 45 }, { 117, 46 } - }, - OWNERSHIP_AVAILABLE, true); - FixLandOwnershipTilesWithOwnership( - { - { 86, 66 }, { 86, 67 }, { 86, 68 }, { 86, 69 }, { 86, 70 }, { 86, 71 }, { 87, 65 }, { 87, 66 }, { 87, 67 }, { 87, 68 }, { 87, 69 }, - { 87, 70 }, { 87, 71 }, { 87, 72 }, { 88, 65 }, { 88, 66 }, { 88, 67 }, { 88, 68 }, { 88, 69 }, { 88, 70 }, { 88, 71 }, { 88, 72 }, - { 88, 73 }, { 88, 74 }, { 88, 75 }, { 89, 65 }, { 89, 66 }, { 89, 67 }, { 89, 68 }, { 89, 69 }, { 89, 70 }, { 89, 71 }, { 89, 72 }, - { 89, 73 }, { 89, 74 }, { 89, 75 }, { 89, 76 }, { 90, 64 }, { 90, 65 }, { 90, 66 }, { 90, 67 }, { 90, 68 }, { 90, 69 }, { 90, 70 }, - { 90, 71 }, { 90, 72 }, { 90, 73 }, { 90, 74 }, { 90, 75 }, { 90, 76 }, { 90, 77 }, { 91, 67 }, { 91, 68 }, - }, - OWNERSHIP_OWNED); - // clang-format on - } - else if ( - String::IEquals(gScenarioFileName, "Prehistoric - Stone Age.SC6") - || String::IEquals(gScenarioFileName, "prehistoric - stone age.sea")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 58, 77 }, - { 62, 81 }, { 63, 81 }, { 64, 81 }, - { 59, 36 }, { 60, 36 }, { 61, 36 }, { 60, 37 }, { 61, 37 }, - { 73, 78 }, { 73, 79 }, { 73, 80 }, { 73, 81 }, { 73, 82 }, { 74, 79 }, { 74, 80 }, { 74, 81 }, { 74, 82 }, { 74, 83 }, - { 75, 79 }, { 75, 80 }, { 75, 81 }, { 75, 82 }, { 75, 83 }, { 76, 79 }, { 76, 80 }, { 76, 81 }, { 76, 82 }, { 76, 83 }, - { 77, 79 }, { 77, 80 }, { 77, 81 }, { 77, 82 }, { 78, 79 }, { 79, 79 }, { 80, 79 }, { 73, 77 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } - else if (String::Equals(_s6.ScenarioFilename, "Rock 'n' Roll - Rock 'n' Roll.SC6")) - { - // clang-format off - FixLandOwnershipTilesWithOwnership( - { - { 13, 95 }, - { 80, 31 }, - { 56, 105 }, - }, - OWNERSHIP_AVAILABLE, true); - // clang-format on - } + + RCT12::FetchAndApplyScenarioPatch( + _s6.ScenarioFilename != gScenarioFileName ? gScenarioFileName : _s6.ScenarioFilename); } void FixWater() const