Adds Indian Subcontinent map (#3975)

## Description:

Adds Map of the Indian Subcontinent, with indian and pakistani states
and surrounding countries, important rivers like the Ganges, Brahmaputra
and Indus, and Tibet/ theHimalayas

2M land pixels and 52 Nations (i think its fitting that India has the
most nations of a regional map, only continental maps have more)

Should be nice to boost whatever indian playerbase this game might have.
This region also doesnt have any representation aside from continental
maps

<img width="584" height="598" alt="image"
src="https://github.com/user-attachments/assets/4089049a-800b-4e37-ab34-2afc5de821e8"
/>
<img width="418" height="462" alt="image"
src="https://github.com/user-attachments/assets/a68e2424-5972-4105-86c9-0312ab095024"
/>

Elevation data from NASA DEM, already credited in CREDITS.md

No reference test is needed, the test suite automatically iterates over
all GameMapType enum values — no map is hardcoded by name in the tests

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

tri.star1011
This commit is contained in:
RickD004
2026-05-23 10:38:03 -06:00
committed by GitHub
parent fd6cd762e6
commit b1ec3ac70f
15 changed files with 616 additions and 1 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 619 KiB

@@ -0,0 +1,303 @@
{
"name": "Indian Subcontinent",
"nations": [
{
"coordinates": [1601, 840],
"name": "Bangladesh",
"flag": "bd"
},
{
"coordinates": [1907, 924],
"name": "Myanmar",
"flag": "mm"
},
{
"coordinates": [1764, 529],
"name": "Bhutan",
"flag": "bt"
},
{
"coordinates": [1338, 491],
"name": "Nepal",
"flag": "np"
},
{
"coordinates": [288, 244],
"name": "Afghanistan",
"flag": "af"
},
{
"coordinates": [1550, 167],
"name": "Tibet",
"flag": "tibet"
},
{
"coordinates": [1952, 26],
"name": "China",
"flag": "cn"
},
{
"coordinates": [1086, 1735],
"name": "Sri Lanka",
"flag": "lk"
},
{
"coordinates": [1975, 1910],
"name": "Aceh",
"flag": "Aceh"
},
{
"coordinates": [1799, 1466],
"name": "Andaman & Nicobar Islands",
"flag": "in"
},
{
"coordinates": [632, 1566],
"name": "Lakshadweep",
"flag": "in"
},
{
"coordinates": [685, 1807],
"name": "Maldives",
"flag": "mv"
},
{
"coordinates": [883, 1595],
"name": "Kerala",
"flag": "in"
},
{
"coordinates": [1051, 1586],
"name": "Tamil Nadu",
"flag": "in"
},
{
"coordinates": [783, 1322],
"name": "Karnataka",
"flag": "in"
},
{
"coordinates": [1057, 1256],
"name": "Andhra Pradesh",
"flag": "in"
},
{
"coordinates": [1007, 1065],
"name": "Telangana",
"flag": "in"
},
{
"coordinates": [787, 998],
"name": "Maharashtra",
"flag": "in"
},
{
"coordinates": [706, 1141],
"name": "Goa",
"flag": "in"
},
{
"coordinates": [1391, 906],
"name": "Odisha",
"flag": "in"
},
{
"coordinates": [565, 892],
"name": "Gujarat",
"flag": "in"
},
{
"coordinates": [961, 717],
"name": "Madhya Pradesh",
"flag": "in"
},
{
"coordinates": [1120, 895],
"name": "Chhattisgarh",
"flag": "in"
},
{
"coordinates": [1508, 825],
"name": "West Bengal",
"flag": "in"
},
{
"coordinates": [1317, 717],
"name": "Jharkhand",
"flag": "in"
},
{
"coordinates": [1379, 608],
"name": "Bihar",
"flag": "in"
},
{
"coordinates": [1519, 506],
"name": "Sikkim",
"flag": "Sikkim"
},
{
"coordinates": [1738, 668],
"name": "Assam",
"flag": "in"
},
{
"coordinates": [1194, 535],
"name": "Uttar Pradesh",
"flag": "in"
},
{
"coordinates": [735, 611],
"name": "Rajasthan",
"flag": "in"
},
{
"coordinates": [1624, 507],
"name": "Meghalaya",
"flag": "in"
},
{
"coordinates": [1658, 759],
"name": "Tripura",
"flag": "in"
},
{
"coordinates": [1790, 834],
"name": "Mizoram",
"flag": "in"
},
{
"coordinates": [1878, 762],
"name": "Manipur",
"flag": "in"
},
{
"coordinates": [1952, 637],
"name": "Nagaland",
"flag": "in"
},
{
"coordinates": [1957, 480],
"name": "Arunachal Pradesh",
"flag": "in"
},
{
"coordinates": [884, 439],
"name": "Haryana",
"flag": "in"
},
{
"coordinates": [840, 305],
"name": "Punjab",
"flag": "in"
},
{
"coordinates": [1082, 384],
"name": "Uttarakhand",
"flag": "in"
},
{
"coordinates": [948, 236],
"name": "Himachal Pradesh",
"flag": "in"
},
{
"coordinates": [823, 11],
"name": "Jammu and Kashmir",
"flag": "Jammu and Kashmir"
},
{
"coordinates": [51, 580],
"name": "Iran",
"flag": "ir"
},
{
"coordinates": [81, 24],
"name": "Tajikistan",
"flag": "tj"
},
{
"coordinates": [978, 550],
"name": "New Delhi",
"flag": "in"
},
{
"coordinates": [468, 692],
"name": "Sindh",
"flag": "pk"
},
{
"coordinates": [309, 529],
"name": "Balochistan",
"flag": "pk"
},
{
"coordinates": [637, 464],
"name": "Punjab",
"flag": "pk"
},
{
"coordinates": [514, 366],
"name": "Fata",
"flag": "pk"
},
{
"coordinates": [616, 224],
"name": "Khyber Pakhtunkhwa",
"flag": "pk"
},
{
"coordinates": [740, 161],
"name": "Azad Kashmir",
"flag": "Azad Kashmir"
},
{
"coordinates": [628, 12],
"name": "Gilgit-Baltistan",
"flag": "pk"
},
{
"coordinates": [1065, 1454],
"name": "Puducherry",
"flag": "in"
}
]
}
+1
View File
@@ -61,6 +61,7 @@ var maps = []struct {
{Name: "halkidiki"},
{Name: "hawaii"},
{Name: "iceland"},
{Name: "indiansubcontinent"},
{Name: "italia"},
{Name: "japan"},
{Name: "lemnos"},
+15
View File
@@ -201,6 +201,11 @@
"continent": "Oceania",
"name": "Australia"
},
{
"code": "Azad Kashmir",
"continent": "Asia",
"name": "Azad Kashmir"
},
{
"code": "az",
"continent": "Asia",
@@ -1075,6 +1080,11 @@
"continent": "North America",
"name": "Jamaica"
},
{
"code": "Jammu and Kashmir",
"continent": "Asia",
"name": "Jammu and Kashmir"
},
{
"code": "jp",
"continent": "Asia",
@@ -2070,6 +2080,11 @@
"continent": "Africa",
"name": "Sierra Leone"
},
{
"code": "Sikkim",
"continent": "Asia",
"name": "Sikkim"
},
{
"code": "sg",
"continent": "Asia",
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

+2 -1
View File
@@ -600,7 +600,8 @@
"taiwanstrait": "Taiwan Strait",
"danishstraits": "Danish Straits",
"northwestpassage": "Northwest Passage",
"venice": "Venice"
"venice": "Venice",
"indiansubcontinent": "Indian Subcontinent"
},
"map_categories": {
"featured": "Featured",
@@ -0,0 +1,280 @@
{
"map": {
"height": 2220,
"num_land_tiles": 2113509,
"width": 2000
},
"map16x": {
"height": 555,
"num_land_tiles": 125915,
"width": 500
},
"map4x": {
"height": 1110,
"num_land_tiles": 519188,
"width": 1000
},
"name": "Indian Subcontinent",
"nations": [
{
"coordinates": [1601, 840],
"flag": "bd",
"name": "Bangladesh"
},
{
"coordinates": [1907, 924],
"flag": "mm",
"name": "Myanmar"
},
{
"coordinates": [1764, 529],
"flag": "bt",
"name": "Bhutan"
},
{
"coordinates": [1338, 491],
"flag": "np",
"name": "Nepal"
},
{
"coordinates": [288, 244],
"flag": "af",
"name": "Afghanistan"
},
{
"coordinates": [1550, 167],
"flag": "tibet",
"name": "Tibet"
},
{
"coordinates": [1952, 26],
"flag": "cn",
"name": "China"
},
{
"coordinates": [1086, 1735],
"flag": "lk",
"name": "Sri Lanka"
},
{
"coordinates": [1975, 1910],
"flag": "Aceh",
"name": "Aceh"
},
{
"coordinates": [1799, 1466],
"flag": "in",
"name": "Andaman \u0026 Nicobar Islands"
},
{
"coordinates": [632, 1566],
"flag": "in",
"name": "Lakshadweep"
},
{
"coordinates": [685, 1807],
"flag": "mv",
"name": "Maldives"
},
{
"coordinates": [883, 1595],
"flag": "in",
"name": "Kerala"
},
{
"coordinates": [1051, 1586],
"flag": "in",
"name": "Tamil Nadu"
},
{
"coordinates": [783, 1322],
"flag": "in",
"name": "Karnataka"
},
{
"coordinates": [1057, 1256],
"flag": "in",
"name": "Andhra Pradesh"
},
{
"coordinates": [1007, 1065],
"flag": "in",
"name": "Telangana"
},
{
"coordinates": [787, 998],
"flag": "in",
"name": "Maharashtra"
},
{
"coordinates": [706, 1141],
"flag": "in",
"name": "Goa"
},
{
"coordinates": [1391, 906],
"flag": "in",
"name": "Odisha"
},
{
"coordinates": [565, 892],
"flag": "in",
"name": "Gujarat"
},
{
"coordinates": [961, 717],
"flag": "in",
"name": "Madhya Pradesh"
},
{
"coordinates": [1120, 895],
"flag": "in",
"name": "Chhattisgarh"
},
{
"coordinates": [1508, 825],
"flag": "in",
"name": "West Bengal"
},
{
"coordinates": [1317, 717],
"flag": "in",
"name": "Jharkhand"
},
{
"coordinates": [1379, 608],
"flag": "in",
"name": "Bihar"
},
{
"coordinates": [1519, 506],
"flag": "Sikkim",
"name": "Sikkim"
},
{
"coordinates": [1738, 668],
"flag": "in",
"name": "Assam"
},
{
"coordinates": [1194, 535],
"flag": "in",
"name": "Uttar Pradesh"
},
{
"coordinates": [735, 611],
"flag": "in",
"name": "Rajasthan"
},
{
"coordinates": [1624, 507],
"flag": "in",
"name": "Meghalaya"
},
{
"coordinates": [1658, 759],
"flag": "in",
"name": "Tripura"
},
{
"coordinates": [1790, 834],
"flag": "in",
"name": "Mizoram"
},
{
"coordinates": [1878, 762],
"flag": "in",
"name": "Manipur"
},
{
"coordinates": [1952, 637],
"flag": "in",
"name": "Nagaland"
},
{
"coordinates": [1957, 480],
"flag": "in",
"name": "Arunachal Pradesh"
},
{
"coordinates": [884, 439],
"flag": "in",
"name": "Haryana"
},
{
"coordinates": [840, 305],
"flag": "in",
"name": "Punjab"
},
{
"coordinates": [1082, 384],
"flag": "in",
"name": "Uttarakhand"
},
{
"coordinates": [948, 236],
"flag": "in",
"name": "Himachal Pradesh"
},
{
"coordinates": [823, 11],
"flag": "Jammu and Kashmir",
"name": "Jammu and Kashmir"
},
{
"coordinates": [51, 580],
"flag": "ir",
"name": "Iran"
},
{
"coordinates": [81, 24],
"flag": "tj",
"name": "Tajikistan"
},
{
"coordinates": [978, 550],
"flag": "in",
"name": "New Delhi"
},
{
"coordinates": [468, 692],
"flag": "pk",
"name": "Sindh"
},
{
"coordinates": [309, 529],
"flag": "pk",
"name": "Balochistan"
},
{
"coordinates": [637, 464],
"flag": "pk",
"name": "Punjab"
},
{
"coordinates": [514, 366],
"flag": "pk",
"name": "Fata"
},
{
"coordinates": [616, 224],
"flag": "pk",
"name": "Khyber Pakhtunkhwa"
},
{
"coordinates": [740, 161],
"flag": "Azad Kashmir",
"name": "Azad Kashmir"
},
{
"coordinates": [628, 12],
"flag": "pk",
"name": "Gilgit-Baltistan"
},
{
"coordinates": [1065, 1454],
"flag": "in",
"name": "Puducherry"
}
]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+2
View File
@@ -171,6 +171,7 @@ export enum GameMapType {
BajaCalifornia = "Baja California",
MiddleEast = "Middle East",
TaiwanStrait = "Taiwan Strait",
IndianSubcontinent = "Indian Subcontinent",
DanishStraits = "Danish Straits",
NorthwestPassage = "Northwest Passage",
Venice = "Venice",
@@ -237,6 +238,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.BajaCalifornia,
GameMapType.MiddleEast,
GameMapType.TaiwanStrait,
GameMapType.IndianSubcontinent,
GameMapType.DanishStraits,
GameMapType.NorthwestPassage,
GameMapType.Venice,
+1
View File
@@ -67,6 +67,7 @@ const FREQUENCY: Partial<Record<GameMapName, number>> = {
Halkidiki: 4,
Hawaii: 4,
Iceland: 4,
IndianSubcontinent: 8,
Italia: 6,
Japan: 6,
Lemnos: 3,