Added tile feature tiles to tilesets!
BIN
android/Images/TileSets/FantasyHex/City.png
Normal file
After Width: | Height: | Size: 876 B |
Before Width: | Height: | Size: 421 B After Width: | Height: | Size: 394 B |
BIN
android/Images/TileSets/FantasyHex/Desert+Flood plains.png
Normal file
After Width: | Height: | Size: 459 B |
BIN
android/Images/TileSets/FantasyHex/Desert+Oasis.png
Normal file
After Width: | Height: | Size: 682 B |
Before Width: | Height: | Size: 495 B After Width: | Height: | Size: 399 B |
Before Width: | Height: | Size: 1.8 KiB |
BIN
android/Images/TileSets/FantasyHex/Grassland+Forest.png
Normal file
After Width: | Height: | Size: 572 B |
Before Width: | Height: | Size: 422 B After Width: | Height: | Size: 388 B |
BIN
android/Images/TileSets/FantasyHex/Hill+Forest.png
Normal file
After Width: | Height: | Size: 861 B |
Before Width: | Height: | Size: 666 B After Width: | Height: | Size: 634 B |
Before Width: | Height: | Size: 601 B After Width: | Height: | Size: 569 B |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 413 B After Width: | Height: | Size: 394 B |
BIN
android/Images/TileSets/FantasyHex/Plains+Forest.png
Normal file
After Width: | Height: | Size: 776 B |
Before Width: | Height: | Size: 421 B After Width: | Height: | Size: 387 B |
BIN
android/Images/TileSets/FantasyHex/Tundra+Forest.png
Normal file
After Width: | Height: | Size: 726 B |
Before Width: | Height: | Size: 732 B After Width: | Height: | Size: 698 B |
@ -902,7 +902,7 @@ OtherIcons/tileTableBackground
|
|||||||
index: -1
|
index: -1
|
||||||
OtherIcons/whiteDot
|
OtherIcons/whiteDot
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 132, 537
|
xy: 1531, 1946
|
||||||
size: 1, 1
|
size: 1, 1
|
||||||
orig: 1, 1
|
orig: 1, 1
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@ -1175,21 +1175,21 @@ PolicyIcons/Total War
|
|||||||
index: -1
|
index: -1
|
||||||
PolicyIcons/Trade Unions
|
PolicyIcons/Trade Unions
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 534
|
xy: 1458, 533
|
||||||
size: 50, 50
|
size: 50, 50
|
||||||
orig: 50, 50
|
orig: 50, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
PolicyIcons/Universal Suffrage
|
PolicyIcons/Universal Suffrage
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 482
|
xy: 1458, 481
|
||||||
size: 50, 50
|
size: 50, 50
|
||||||
orig: 50, 50
|
orig: 50, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
PolicyIcons/Warrior Code
|
PolicyIcons/Warrior Code
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 430
|
xy: 1458, 429
|
||||||
size: 50, 50
|
size: 50, 50
|
||||||
orig: 50, 50
|
orig: 50, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@ -2062,13 +2062,6 @@ TileSets/Default/ForestOverlay
|
|||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/ForestOverlay
|
|
||||||
rotate: false
|
|
||||||
xy: 1048, 1336
|
|
||||||
size: 100, 100
|
|
||||||
orig: 100, 100
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
TileSets/ThorfMaps/ForestOverlay
|
TileSets/ThorfMaps/ForestOverlay
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1048, 1336
|
xy: 1048, 1336
|
||||||
@ -2153,13 +2146,6 @@ TileSets/Default/MountainOverlay
|
|||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/MountainOverlay
|
|
||||||
rotate: false
|
|
||||||
xy: 612, 826
|
|
||||||
size: 100, 100
|
|
||||||
orig: 100, 100
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
TileSets/Default/OasisOverlay
|
TileSets/Default/OasisOverlay
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 918, 826
|
xy: 918, 826
|
||||||
@ -2167,13 +2153,6 @@ TileSets/Default/OasisOverlay
|
|||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/OasisOverlay
|
|
||||||
rotate: false
|
|
||||||
xy: 918, 826
|
|
||||||
size: 100, 100
|
|
||||||
orig: 100, 100
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
TileSets/ThorfMaps/OasisOverlay
|
TileSets/ThorfMaps/OasisOverlay
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 918, 826
|
xy: 918, 826
|
||||||
@ -2202,60 +2181,109 @@ TileSets/ThorfMaps/road
|
|||||||
orig: 61, 11
|
orig: 61, 11
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
|
TileSets/FantasyHex/City
|
||||||
|
rotate: false
|
||||||
|
xy: 1458, 585
|
||||||
|
size: 32, 35
|
||||||
|
orig: 32, 35
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
TileSets/FantasyHex/Coast
|
TileSets/FantasyHex/Coast
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1966, 1141
|
xy: 912, 31
|
||||||
size: 32, 29
|
size: 32, 27
|
||||||
orig: 32, 29
|
orig: 32, 27
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/Desert
|
TileSets/FantasyHex/Desert
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 488, 538
|
xy: 488, 540
|
||||||
size: 32, 30
|
size: 32, 28
|
||||||
orig: 32, 30
|
orig: 32, 28
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
TileSets/FantasyHex/Desert+Flood plains
|
||||||
|
rotate: false
|
||||||
|
xy: 334, 1050
|
||||||
|
size: 32, 28
|
||||||
|
orig: 32, 28
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
TileSets/FantasyHex/Desert+Oasis
|
||||||
|
rotate: false
|
||||||
|
xy: 408, 744
|
||||||
|
size: 32, 28
|
||||||
|
orig: 32, 28
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/Grassland
|
TileSets/FantasyHex/Grassland
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 334, 1048
|
xy: 1458, 365
|
||||||
size: 32, 30
|
size: 32, 28
|
||||||
orig: 32, 30
|
orig: 32, 28
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
TileSets/FantasyHex/Grassland+Forest
|
||||||
|
rotate: false
|
||||||
|
xy: 2015, 1813
|
||||||
|
size: 31, 29
|
||||||
|
orig: 31, 29
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/Hill
|
TileSets/FantasyHex/Hill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1531, 1960
|
xy: 810, 26
|
||||||
size: 32, 34
|
size: 32, 32
|
||||||
orig: 32, 34
|
orig: 32, 32
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
TileSets/FantasyHex/Hill+Forest
|
||||||
|
rotate: false
|
||||||
|
xy: 1531, 1949
|
||||||
|
size: 32, 45
|
||||||
|
orig: 32, 45
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/Mountain
|
TileSets/FantasyHex/Mountain
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 132, 540
|
xy: 132, 542
|
||||||
size: 32, 38
|
size: 32, 36
|
||||||
orig: 32, 38
|
orig: 32, 36
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/Ocean
|
TileSets/FantasyHex/Ocean
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 810, 29
|
xy: 878, 30
|
||||||
size: 32, 29
|
size: 32, 28
|
||||||
orig: 32, 29
|
orig: 32, 28
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/Plains
|
TileSets/FantasyHex/Plains
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 408, 742
|
xy: 1458, 335
|
||||||
size: 32, 30
|
size: 32, 28
|
||||||
orig: 32, 30
|
orig: 32, 28
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
TileSets/FantasyHex/Plains+Forest
|
||||||
|
rotate: false
|
||||||
|
xy: 1966, 1137
|
||||||
|
size: 32, 33
|
||||||
|
orig: 32, 33
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/FantasyHex/Tundra
|
TileSets/FantasyHex/Tundra
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 586
|
xy: 1458, 395
|
||||||
size: 32, 34
|
size: 32, 32
|
||||||
orig: 32, 34
|
orig: 32, 32
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
TileSets/FantasyHex/Tundra+Forest
|
||||||
|
rotate: false
|
||||||
|
xy: 844, 26
|
||||||
|
size: 32, 32
|
||||||
|
orig: 32, 32
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
TileSets/ThorfMaps/Coast
|
TileSets/ThorfMaps/Coast
|
||||||
@ -2764,245 +2792,245 @@ UnitPromotionIcons/Boarding_Party_II_(Civ5)
|
|||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Boarding_Party_I_(Civ5)
|
UnitPromotionIcons/Boarding_Party_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2015, 1822
|
xy: 2015, 1791
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Bombardment_III_(Civ5)
|
UnitPromotionIcons/Bombardment_III_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 408
|
xy: 946, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Bombardment_II_(Civ5)
|
UnitPromotionIcons/Bombardment_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 844, 38
|
xy: 2018, 780
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Bombardment_I_(Civ5)
|
UnitPromotionIcons/Bombardment_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2018, 780
|
xy: 460, 782
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Charge_(Civ5)
|
UnitPromotionIcons/Charge_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 460, 782
|
xy: 106, 16
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Coastal_Raider_III_(Civ5)
|
UnitPromotionIcons/Coastal_Raider_III_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 106, 16
|
xy: 2015, 1769
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Coastal_Raider_II_(Civ5)
|
UnitPromotionIcons/Coastal_Raider_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2015, 1800
|
xy: 968, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Coastal_Raider_I_(Civ5)
|
UnitPromotionIcons/Coastal_Raider_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 386
|
xy: 2018, 758
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Cover_II_(Civ5)
|
UnitPromotionIcons/Cover_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1480, 408
|
xy: 2015, 1747
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Cover_I_(Civ5)
|
UnitPromotionIcons/Cover_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 866, 38
|
xy: 990, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Drill_III_(Civ5)
|
UnitPromotionIcons/Drill_III_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2018, 758
|
xy: 2018, 736
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Drill_II_(Civ5)
|
UnitPromotionIcons/Drill_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2015, 1778
|
xy: 1012, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Drill_I_(Civ5)
|
UnitPromotionIcons/Drill_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 364
|
xy: 2018, 714
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Formation_II_(Civ5)
|
UnitPromotionIcons/Formation_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1480, 386
|
xy: 1034, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Formation_I_(Civ5)
|
UnitPromotionIcons/Formation_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 888, 38
|
xy: 2018, 692
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Indirect_Fire_(Civ5)
|
UnitPromotionIcons/Indirect_Fire_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2018, 736
|
xy: 1056, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Logistics_(Civ5)
|
UnitPromotionIcons/Logistics_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2015, 1756
|
xy: 2018, 670
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/March_(Civ5)
|
UnitPromotionIcons/March_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 342
|
xy: 1078, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Mobility_(Civ5)
|
UnitPromotionIcons/Mobility_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1480, 364
|
xy: 2018, 648
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Range_(Civ5)
|
UnitPromotionIcons/Range_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 910, 38
|
xy: 1100, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Scouting_III_(Civ5)
|
UnitPromotionIcons/Scouting_III_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2018, 714
|
xy: 2018, 626
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Scouting_II_(Civ5)
|
UnitPromotionIcons/Scouting_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1458, 320
|
xy: 1122, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Scouting_I_(Civ5)
|
UnitPromotionIcons/Scouting_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1480, 342
|
xy: 1144, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Sentry_(Civ5)
|
UnitPromotionIcons/Sentry_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 932, 38
|
xy: 1166, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Shock_III_(Civ5)
|
UnitPromotionIcons/Shock_III_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2018, 692
|
xy: 1188, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Shock_II_(Civ5)
|
UnitPromotionIcons/Shock_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1480, 320
|
xy: 1210, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Shock_I_(Civ5)
|
UnitPromotionIcons/Shock_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 954, 38
|
xy: 1232, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Siege_(Civ5)
|
UnitPromotionIcons/Siege_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2018, 670
|
xy: 1254, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Targeting_III_(Civ5)
|
UnitPromotionIcons/Targeting_III_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 976, 38
|
xy: 1276, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Targeting_II_(Civ5)
|
UnitPromotionIcons/Targeting_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2018, 648
|
xy: 1298, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Targeting_I_(Civ5)
|
UnitPromotionIcons/Targeting_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 998, 38
|
xy: 1320, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Volley_(Civ5)
|
UnitPromotionIcons/Volley_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2018, 626
|
xy: 1342, 38
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Wolfpack_III_(Civ5)
|
UnitPromotionIcons/Wolfpack_III_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1020, 38
|
xy: 2000, 1150
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Wolfpack_II_(Civ5)
|
UnitPromotionIcons/Wolfpack_II_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1042, 38
|
xy: 1492, 407
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitPromotionIcons/Wolfpack_I_(Civ5)
|
UnitPromotionIcons/Wolfpack_I_(Civ5)
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1064, 38
|
xy: 1492, 385
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
|
Before Width: | Height: | Size: 926 KiB After Width: | Height: | Size: 925 KiB |
@ -8,10 +8,13 @@ import com.unciv.ui.utils.ImageGetter
|
|||||||
import com.unciv.ui.utils.surroundWithCircle
|
import com.unciv.ui.utils.surroundWithCircle
|
||||||
|
|
||||||
class YieldGroup : HorizontalGroup() {
|
class YieldGroup : HorizontalGroup() {
|
||||||
|
init {
|
||||||
|
isTransform = false // performance helper - nothing here is rotated or scaled
|
||||||
|
}
|
||||||
|
|
||||||
fun setStats(stats: Stats) {
|
fun setStats(stats: Stats) {
|
||||||
clearChildren()
|
clearChildren()
|
||||||
for (entry in stats.toHashMap().filter { it.value>0 }) {
|
for (entry in stats.toHashMap().filter { it.value > 0 }) {
|
||||||
addActor(getStatIconsTable(entry.key.toString(), entry.value.toInt()))
|
addActor(getStatIconsTable(entry.key.toString(), entry.value.toInt()))
|
||||||
}
|
}
|
||||||
pack()
|
pack()
|
||||||
@ -19,7 +22,7 @@ class YieldGroup : HorizontalGroup() {
|
|||||||
|
|
||||||
fun getIcon(statName: String) =
|
fun getIcon(statName: String) =
|
||||||
ImageGetter.getStatIcon(statName).surroundWithCircle(20f)
|
ImageGetter.getStatIcon(statName).surroundWithCircle(20f)
|
||||||
.apply { circle.color= Color.BLACK;circle.color.a=0.5f }
|
.apply { circle.color = Color.BLACK;circle.color.a = 0.5f }
|
||||||
|
|
||||||
private fun getStatIconsTable(statName: String, number: Int): Table {
|
private fun getStatIconsTable(statName: String, number: Int): Table {
|
||||||
val table = Table()
|
val table = Table()
|
||||||
|
@ -15,18 +15,33 @@ import com.unciv.ui.cityscreen.YieldGroup
|
|||||||
import com.unciv.ui.utils.ImageGetter
|
import com.unciv.ui.utils.ImageGetter
|
||||||
import com.unciv.ui.utils.UnitGroup
|
import com.unciv.ui.utils.UnitGroup
|
||||||
import com.unciv.ui.utils.center
|
import com.unciv.ui.utils.center
|
||||||
|
import com.unciv.ui.utils.centerX
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
open class TileGroup(var tileInfo: TileInfo) : Group() {
|
open class TileGroup(var tileInfo: TileInfo) : Group() {
|
||||||
val tileSetLocation = "TileSets/"+UnCivGame.Current.settings.tileSet +"/"
|
val tileSetLocation = "TileSets/"+UnCivGame.Current.settings.tileSet +"/"
|
||||||
|
|
||||||
protected var hexagon :Image= ImageGetter.getImage(tileSetLocation+"Hexagon.png")
|
/*
|
||||||
protected var baseTerrainImage: Image? = null
|
Layers:
|
||||||
|
Base image + overlay
|
||||||
|
Feature overlay / city overlay
|
||||||
|
Units, improvements, resources, border
|
||||||
|
Circle, Crosshair, Fog layer
|
||||||
|
City name
|
||||||
|
*/
|
||||||
|
val baseLayerGroup = Group().apply { isTransform=false }
|
||||||
|
protected var tileBaseImage :Image= ImageGetter.getImage(tileSetLocation+"Hexagon")
|
||||||
|
var currentTileBaseImageLocation = ""
|
||||||
|
protected var baseTerrainOverlayImage: Image? = null
|
||||||
protected var baseTerrain:String=""
|
protected var baseTerrain:String=""
|
||||||
protected var terrainFeatureImage: Image? = null
|
|
||||||
|
val featureLayerGroup = Group().apply { isTransform=false }
|
||||||
|
protected var terrainFeatureOverlayImage: Image? = null
|
||||||
protected var terrainFeature:String?=null
|
protected var terrainFeature:String?=null
|
||||||
protected var cityImage: Image? = null
|
protected var cityImage: Image? = null
|
||||||
|
|
||||||
|
val miscLayerGroup = Group().apply { isTransform=false }
|
||||||
var resourceImage: Actor? = null
|
var resourceImage: Actor? = null
|
||||||
var resource:String?=null
|
var resource:String?=null
|
||||||
var improvementImage: Actor? = null
|
var improvementImage: Actor? = null
|
||||||
@ -35,11 +50,13 @@ open class TileGroup(var tileInfo: TileInfo) : Group() {
|
|||||||
private val borderImages = HashMap<TileInfo, List<Image>>() // map of neighboring tile to border images
|
private val borderImages = HashMap<TileInfo, List<Image>>() // map of neighboring tile to border images
|
||||||
protected var civilianUnitImage: UnitGroup? = null
|
protected var civilianUnitImage: UnitGroup? = null
|
||||||
protected var militaryUnitImage: UnitGroup? = null
|
protected var militaryUnitImage: UnitGroup? = null
|
||||||
|
|
||||||
|
|
||||||
private val circleImage = ImageGetter.getCircle() // for blue and red circles on the tile
|
private val circleImage = ImageGetter.getCircle() // for blue and red circles on the tile
|
||||||
private val crosshairImage = ImageGetter.getImage("OtherIcons/Crosshair.png") // for when a unit is targeted
|
private val crosshairImage = ImageGetter.getImage("OtherIcons/Crosshair.png") // for when a unit is targete
|
||||||
protected val fogImage = ImageGetter.getImage(tileSetLocation+"CrosshatchHexagon")
|
protected val fogImage = ImageGetter.getImage(tileSetLocation+"CrosshatchHexagon")
|
||||||
|
|
||||||
var yieldGroup = YieldGroup()
|
var yieldGroup = YieldGroup()
|
||||||
var lastIsRevealed = false
|
|
||||||
|
|
||||||
var showEntireMap = UnCivGame.Current.viewEntireMapForDebug
|
var showEntireMap = UnCivGame.Current.viewEntireMapForDebug
|
||||||
|
|
||||||
@ -70,7 +87,6 @@ open class TileGroup(var tileInfo: TileInfo) : Group() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun addFogImage(groupSize: Float) {
|
private fun addFogImage(groupSize: Float) {
|
||||||
print("Adding fog image")
|
|
||||||
val imageScale = groupSize * 1.5f / fogImage.width
|
val imageScale = groupSize * 1.5f / fogImage.width
|
||||||
fogImage.setScale(imageScale)
|
fogImage.setScale(imageScale)
|
||||||
fogImage.setOrigin(Align.center)
|
fogImage.setOrigin(Align.center)
|
||||||
@ -92,18 +108,33 @@ open class TileGroup(var tileInfo: TileInfo) : Group() {
|
|||||||
crosshairImage.isVisible = true
|
crosshairImage.isVisible = true
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateTileImage(isRevealed: Boolean) {
|
fun getTileBaseImageLocation(isRevealed: Boolean): String {
|
||||||
hexagon.remove()
|
if(!isRevealed) return tileSetLocation+"Hexagon"
|
||||||
val terrainTileLocation = tileSetLocation+tileInfo.baseTerrain
|
|
||||||
if(!lastIsRevealed && isRevealed && ImageGetter.imageExists(terrainTileLocation))
|
|
||||||
hexagon = ImageGetter.getImage(terrainTileLocation)
|
|
||||||
|
|
||||||
val imageScale = groupSize * 1.5f / hexagon.width
|
val baseTerrainTileLocation = tileSetLocation+tileInfo.baseTerrain
|
||||||
hexagon.setScale(imageScale)
|
val baseTerrainAndFeatureTileLocation = baseTerrainTileLocation+"+"+tileInfo.terrainFeature
|
||||||
hexagon.setOrigin(Align.center)
|
if(tileInfo.terrainFeature!=null && ImageGetter.imageExists(baseTerrainAndFeatureTileLocation))
|
||||||
hexagon.center(this)
|
return baseTerrainAndFeatureTileLocation
|
||||||
hexagon.zIndex = 0
|
if(ImageGetter.imageExists(baseTerrainTileLocation)) return baseTerrainTileLocation
|
||||||
addActor(hexagon)
|
return tileSetLocation+"Hexagon"
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun updateTileImage(isRevealed: Boolean) {
|
||||||
|
val tileBaseImageLocation = getTileBaseImageLocation(isRevealed)
|
||||||
|
if(tileBaseImageLocation==currentTileBaseImageLocation) return
|
||||||
|
|
||||||
|
tileBaseImage.remove()
|
||||||
|
tileBaseImage = ImageGetter.getImage(tileBaseImageLocation)
|
||||||
|
currentTileBaseImageLocation = tileBaseImageLocation
|
||||||
|
|
||||||
|
val imageScale = groupSize * 1.5f / tileBaseImage.width
|
||||||
|
// Using "scale" can get really confusing when positioning, how about no
|
||||||
|
tileBaseImage.setSize(tileBaseImage.width*imageScale, tileBaseImage.height*imageScale)
|
||||||
|
tileBaseImage.centerX(this)
|
||||||
|
|
||||||
|
tileBaseImage.y = -groupSize/6
|
||||||
|
tileBaseImage.toBack()
|
||||||
|
addActor(tileBaseImage)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun addAcquirableIcon(){
|
fun addAcquirableIcon(){
|
||||||
@ -142,7 +173,7 @@ open class TileGroup(var tileInfo: TileInfo) : Group() {
|
|||||||
hideCircle()
|
hideCircle()
|
||||||
if (!showEntireMap
|
if (!showEntireMap
|
||||||
&& !tileInfo.tileMap.gameInfo.getCurrentPlayerCivilization().exploredTiles.contains(tileInfo.position)) {
|
&& !tileInfo.tileMap.gameInfo.getCurrentPlayerCivilization().exploredTiles.contains(tileInfo.position)) {
|
||||||
hexagon.color = Color.BLACK
|
tileBaseImage.color = Color.BLACK
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -170,27 +201,25 @@ open class TileGroup(var tileInfo: TileInfo) : Group() {
|
|||||||
circleImage.toFront()
|
circleImage.toFront()
|
||||||
for(borderImage in borderImages.flatMap { it.value })
|
for(borderImage in borderImages.flatMap { it.value })
|
||||||
borderImage.toFront()
|
borderImage.toFront()
|
||||||
|
|
||||||
lastIsRevealed = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateTerrainBaseImage() {
|
private fun updateTerrainBaseImage() {
|
||||||
if (tileInfo.baseTerrain == baseTerrain) return
|
if (tileInfo.baseTerrain == baseTerrain) return
|
||||||
|
|
||||||
if(baseTerrainImage!=null){
|
if(baseTerrainOverlayImage!=null){
|
||||||
baseTerrainImage!!.remove()
|
baseTerrainOverlayImage!!.remove()
|
||||||
baseTerrainImage=null
|
baseTerrainOverlayImage=null
|
||||||
}
|
}
|
||||||
|
|
||||||
val imagePath = tileSetLocation + tileInfo.baseTerrain + "Overlay"
|
val imagePath = tileSetLocation + tileInfo.baseTerrain + "Overlay"
|
||||||
if (!ImageGetter.imageExists(imagePath)) return
|
if (!ImageGetter.imageExists(imagePath)) return
|
||||||
baseTerrainImage = ImageGetter.getImage(imagePath)
|
baseTerrainOverlayImage = ImageGetter.getImage(imagePath)
|
||||||
baseTerrainImage!!.run {
|
baseTerrainOverlayImage!!.run {
|
||||||
color.a = 0.25f
|
color.a = 0.25f
|
||||||
setSize(40f, 40f)
|
setSize(40f, 40f)
|
||||||
center(this@TileGroup)
|
center(this@TileGroup)
|
||||||
}
|
}
|
||||||
addActor(baseTerrainImage)
|
addActor(baseTerrainOverlayImage)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateCityImage() {
|
private fun updateCityImage() {
|
||||||
@ -251,7 +280,7 @@ open class TileGroup(var tileInfo: TileInfo) : Group() {
|
|||||||
// So we set it to 0.75
|
// So we set it to 0.75
|
||||||
image.moveBy(-relativeWorldPosition.x * 0.75f * 25f, -relativeWorldPosition.y * 0.75f * 25f)
|
image.moveBy(-relativeWorldPosition.x * 0.75f * 25f, -relativeWorldPosition.y * 0.75f * 25f)
|
||||||
|
|
||||||
// And now, move it within the hexagon side according to i.
|
// And now, move it within the tileBaseImage side according to i.
|
||||||
// Remember, if from the center of the heagon to the middle of the side is an (a,b) vecctor,
|
// Remember, if from the center of the heagon to the middle of the side is an (a,b) vecctor,
|
||||||
// Then within the side, which is of course perpendicular to the (a,b) vector,
|
// Then within the side, which is of course perpendicular to the (a,b) vector,
|
||||||
// we can move with multiples of (b,-a) which is perpendicular to (a,b)
|
// we can move with multiples of (b,-a) which is perpendicular to (a,b)
|
||||||
@ -309,23 +338,25 @@ open class TileGroup(var tileInfo: TileInfo) : Group() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun updateTileColor(isViewable: Boolean) {
|
private fun updateTileColor(isViewable: Boolean) {
|
||||||
hexagon.color =
|
tileBaseImage.color =
|
||||||
if (ImageGetter.imageExists(tileSetLocation + tileInfo.baseTerrain)) Color.WHITE // no need to color it, it's already colored
|
if (ImageGetter.imageExists(tileSetLocation + tileInfo.baseTerrain)) Color.WHITE // no need to color it, it's already colored
|
||||||
else tileInfo.getBaseTerrain().getColor()
|
else tileInfo.getBaseTerrain().getColor()
|
||||||
|
|
||||||
if (!isViewable) hexagon.color = hexagon.color.lerp(Color.BLACK, 0.6f)
|
if (!isViewable) tileBaseImage.color = tileBaseImage.color.lerp(Color.BLACK, 0.6f)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateTerrainFeatureImage() {
|
private fun updateTerrainFeatureImage() {
|
||||||
if (tileInfo.terrainFeature != terrainFeature) {
|
if (tileInfo.terrainFeature != terrainFeature) {
|
||||||
terrainFeature = tileInfo.terrainFeature
|
terrainFeature = tileInfo.terrainFeature
|
||||||
if(terrainFeatureImage!=null) terrainFeatureImage!!.remove()
|
if(terrainFeatureOverlayImage!=null) terrainFeatureOverlayImage!!.remove()
|
||||||
terrainFeatureImage = null
|
terrainFeatureOverlayImage = null
|
||||||
|
|
||||||
if(terrainFeature!=null) {
|
if(terrainFeature!=null) {
|
||||||
terrainFeatureImage = ImageGetter.getImage(tileSetLocation +"$terrainFeature"+"Overlay")
|
val terrainFeatureOverlayLocation = tileSetLocation +"$terrainFeature"+"Overlay"
|
||||||
addActor(terrainFeatureImage)
|
if(!ImageGetter.imageExists(terrainFeatureOverlayLocation)) return
|
||||||
terrainFeatureImage!!.run {
|
terrainFeatureOverlayImage = ImageGetter.getImage(terrainFeatureOverlayLocation)
|
||||||
|
addActor(terrainFeatureOverlayImage)
|
||||||
|
terrainFeatureOverlayImage!!.run {
|
||||||
setSize(30f, 30f)
|
setSize(30f, 30f)
|
||||||
setColor(1f, 1f, 1f, 0.5f)
|
setColor(1f, 1f, 1f, 0.5f)
|
||||||
center(this@TileGroup)
|
center(this@TileGroup)
|
||||||
@ -402,9 +433,7 @@ open class TileGroup(var tileInfo: TileInfo) : Group() {
|
|||||||
|
|
||||||
fun showCircle(color: Color) {
|
fun showCircle(color: Color) {
|
||||||
circleImage.isVisible = true
|
circleImage.isVisible = true
|
||||||
val colorCopy = color.cpy()
|
circleImage.color = color.cpy().apply { a=0.3f }
|
||||||
colorCopy.a = 0.3f
|
|
||||||
circleImage.color = colorCopy
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun hideCircle() {
|
fun hideCircle() {
|
||||||
|
@ -46,7 +46,7 @@ class WorldTileGroup(internal val worldScreen: WorldScreen, tileInfo: TileInfo)
|
|||||||
|
|
||||||
// order by z index!
|
// order by z index!
|
||||||
cityImage?.toFront()
|
cityImage?.toFront()
|
||||||
terrainFeatureImage?.toFront()
|
terrainFeatureOverlayImage?.toFront()
|
||||||
yieldGroup.toFront()
|
yieldGroup.toFront()
|
||||||
improvementImage?.toFront()
|
improvementImage?.toFront()
|
||||||
resourceImage?.toFront()
|
resourceImage?.toFront()
|
||||||
|