diff --git a/MapConverter/MapConverter.cs b/MapConverter/MapConverter.cs index 4dc2f95208..aceaf80f1e 100644 --- a/MapConverter/MapConverter.cs +++ b/MapConverter/MapConverter.cs @@ -148,6 +148,7 @@ namespace MapConverter Map.MapSize.Y = MapSize; Map.TopLeft = new int2 (XOffset, YOffset); Map.BottomRight = new int2(XOffset+Width,YOffset+Height); + Map.Selectable = true; if (INIFormat == 3) // RA map { diff --git a/OpenRA.FileFormats/Map/Map.cs b/OpenRA.FileFormats/Map/Map.cs index 2f49cf8b8f..2aa0ef4390 100644 --- a/OpenRA.FileFormats/Map/Map.cs +++ b/OpenRA.FileFormats/Map/Map.cs @@ -32,7 +32,8 @@ namespace OpenRA.FileFormats public IFolder Package; public string Uid; - // Yaml map data + // Yaml map data + public bool Selectable; public int MapFormat = 1; public string Title; public string Description; @@ -65,7 +66,7 @@ namespace OpenRA.FileFormats public IEnumerable SpawnPoints { get { return Waypoints.Select(kv => kv.Value); } } static List SimpleFields = new List() { - "MapFormat", "Title", "Description", "Author", "PlayerCount", "Tileset", "MapSize", "TopLeft", "BottomRight" + "Selectable", "MapFormat", "Title", "Description", "Author", "PlayerCount", "Tileset", "MapSize", "TopLeft", "BottomRight" }; public Map() { } diff --git a/OpenRA.FileFormats/Map/MapStub.cs b/OpenRA.FileFormats/Map/MapStub.cs index 6b2fcc9286..17773c45c2 100644 --- a/OpenRA.FileFormats/Map/MapStub.cs +++ b/OpenRA.FileFormats/Map/MapStub.cs @@ -27,9 +27,11 @@ namespace OpenRA.FileFormats public class MapStub { public IFolder Package; - + // Yaml map data - public string Uid; + public string Uid; + public bool Selectable; + public string Title; public string Description; public string Author; @@ -43,7 +45,7 @@ namespace OpenRA.FileFormats public Lazy Preview; static List Fields = new List() { - "Title", "Description", "Author", "PlayerCount", "Tileset", "TopLeft", "BottomRight" + "Selectable", "Title", "Description", "Author", "PlayerCount", "Tileset", "TopLeft", "BottomRight" }; public MapStub() { } diff --git a/OpenRA.Game/Chrome.cs b/OpenRA.Game/Chrome.cs index e4e1fa6bf9..274501aac0 100644 --- a/OpenRA.Game/Chrome.cs +++ b/OpenRA.Game/Chrome.cs @@ -326,6 +326,9 @@ namespace OpenRA foreach (var kv in Game.AvailableMaps) { var map = kv.Value; + if (!map.Selectable) + continue; + var itemRect = new Rectangle(r.Left + 50, y - 2, r.Width - 340, 20); if (map == currentMap) { diff --git a/mods/cnc/maps/scm01ea/map.yaml b/mods/cnc/maps/scm01ea/map.yaml index f4f0329043..ec38a1a2be 100644 --- a/mods/cnc/maps/scm01ea/map.yaml +++ b/mods/cnc/maps/scm01ea/map.yaml @@ -1,3 +1,5 @@ +Selectable: True + MapFormat: 1 Title: GREEN ACRES diff --git a/mods/cnc/maps/scm02ea/map.yaml b/mods/cnc/maps/scm02ea/map.yaml index 50c5346495..de7a0eb627 100644 --- a/mods/cnc/maps/scm02ea/map.yaml +++ b/mods/cnc/maps/scm02ea/map.yaml @@ -1,3 +1,5 @@ +Selectable: True + MapFormat: 1 Title: Sand Trap diff --git a/mods/cnc/maps/scm03ea/map.yaml b/mods/cnc/maps/scm03ea/map.yaml index c03ce0c327..ed64689201 100644 --- a/mods/cnc/maps/scm03ea/map.yaml +++ b/mods/cnc/maps/scm03ea/map.yaml @@ -1,3 +1,5 @@ +Selectable: True + MapFormat: 1 Title: Lost Arena diff --git a/mods/ra/maps/scm01ea/map.yaml b/mods/ra/maps/scm01ea/map.yaml index b9e297e76a..1d74e9dfae 100644 --- a/mods/ra/maps/scm01ea/map.yaml +++ b/mods/ra/maps/scm01ea/map.yaml @@ -1,3 +1,5 @@ +Selectable: True + MapFormat: 1 Title: Coastal Influence (4-6) diff --git a/mods/ra/maps/scm02ea/map.yaml b/mods/ra/maps/scm02ea/map.yaml index 368a43f277..b9d20bec1a 100644 --- a/mods/ra/maps/scm02ea/map.yaml +++ b/mods/ra/maps/scm02ea/map.yaml @@ -1,3 +1,5 @@ +Selectable: True + MapFormat: 1 Title: Middle Mayhem (2) diff --git a/mods/ra/maps/scm03ea/map.yaml b/mods/ra/maps/scm03ea/map.yaml index f77077a234..eecad0556c 100644 --- a/mods/ra/maps/scm03ea/map.yaml +++ b/mods/ra/maps/scm03ea/map.yaml @@ -1,3 +1,5 @@ +Selectable: True + MapFormat: 1 Title: Equal Opportunity (2) diff --git a/mods/ra/maps/shellmap/map.bin b/mods/ra/maps/shellmap/map.bin new file mode 100644 index 0000000000..f0d1019c7f Binary files /dev/null and b/mods/ra/maps/shellmap/map.bin differ diff --git a/mods/ra/maps/shellmap/map.uid b/mods/ra/maps/shellmap/map.uid new file mode 100644 index 0000000000..2bfa921272 --- /dev/null +++ b/mods/ra/maps/shellmap/map.uid @@ -0,0 +1 @@ +b22b0197b126d6236a7c1e18c3001c83af10156c \ No newline at end of file diff --git a/mods/ra/maps/shellmap/map.yaml b/mods/ra/maps/shellmap/map.yaml new file mode 100644 index 0000000000..d32007037e --- /dev/null +++ b/mods/ra/maps/shellmap/map.yaml @@ -0,0 +1,418 @@ +Selectable: False + +MapFormat: 1 + +Title: + +Author: Westwood Studios + +PlayerCount: 8 + +Tileset: TEMPERAT + +MapSize: 128,128 + +TopLeft: 26,36 + +BottomRight: 118,93 + +Actors: + Actor0: brik Neutral 32,43 + Actor1: brik Neutral 33,43 + Actor2: brik Neutral 37,43 + Actor3: brik Neutral 38,43 + Actor4: brik Neutral 32,44 + Actor5: brik Neutral 33,44 + Actor6: brik Neutral 37,44 + Actor7: brik Neutral 38,44 + Actor8: brik Neutral 93,46 + Actor9: brik Neutral 94,46 + Actor10: brik Neutral 97,46 + Actor11: brik Neutral 98,46 + Actor12: brik Neutral 91,47 + Actor13: brik Neutral 92,47 + Actor14: brik Neutral 93,47 + Actor15: brik Neutral 94,47 + Actor16: brik Neutral 97,47 + Actor17: brik Neutral 98,47 + Actor18: brik Neutral 99,47 + Actor19: brik Neutral 90,48 + Actor20: brik Neutral 91,48 + Actor21: brik Neutral 99,48 + Actor22: brik Neutral 90,49 + Actor23: brik Neutral 91,49 + Actor24: brik Neutral 89,50 + Actor25: brik Neutral 90,50 + Actor26: brik Neutral 96,50 + Actor27: brik Neutral 97,50 + Actor28: brik Neutral 89,51 + Actor29: brik Neutral 90,51 + Actor30: brik Neutral 93,51 + Actor31: brik Neutral 94,51 + Actor32: brik Neutral 95,51 + Actor33: brik Neutral 96,51 + Actor34: brik Neutral 97,51 + Actor35: brik Neutral 93,52 + Actor36: brik Neutral 96,52 + Actor37: brik Neutral 97,52 + Actor38: brik Neutral 98,52 + Actor39: brik Neutral 93,53 + Actor40: brik Neutral 96,53 + Actor41: brik Neutral 97,53 + Actor42: brik Neutral 98,53 + Actor43: brik Neutral 89,54 + Actor44: brik Neutral 90,54 + Actor45: brik Neutral 93,54 + Actor46: brik Neutral 94,54 + Actor47: brik Neutral 95,54 + Actor48: brik Neutral 96,54 + Actor49: brik Neutral 97,54 + Actor50: brik Neutral 89,55 + Actor51: brik Neutral 90,55 + Actor52: brik Neutral 96,55 + Actor53: brik Neutral 97,55 + Actor54: brik Neutral 90,56 + Actor55: brik Neutral 91,56 + Actor56: brik Neutral 90,57 + Actor57: brik Neutral 91,57 + Actor58: brik Neutral 99,57 + Actor59: brik Neutral 91,58 + Actor60: brik Neutral 92,58 + Actor61: brik Neutral 93,58 + Actor62: brik Neutral 94,58 + Actor63: brik Neutral 97,58 + Actor64: brik Neutral 98,58 + Actor65: brik Neutral 99,58 + Actor66: brik Neutral 93,59 + Actor67: brik Neutral 94,59 + Actor68: brik Neutral 97,59 + Actor69: brik Neutral 98,59 + Actor70: wood Neutral 59,69 + Actor71: wood Neutral 60,69 + Actor72: wood Neutral 61,69 + Actor73: wood Neutral 62,69 + Actor74: wood Neutral 63,69 + Actor75: wood Neutral 64,69 + Actor76: wood Neutral 65,69 + Actor77: brik Neutral 77,74 + Actor78: brik Neutral 78,74 + Actor79: brik Neutral 77,75 + Actor80: brik Neutral 78,75 + Actor81: brik Neutral 77,76 + Actor82: brik Neutral 76,77 + Actor83: brik Neutral 77,77 + Actor84: brik Neutral 76,78 + Actor85: brik Neutral 77,78 + Actor86: brik Neutral 76,83 + Actor87: brik Neutral 77,83 + Actor88: brik Neutral 76,84 + Actor89: brik Neutral 77,84 + Actor90: brik Neutral 76,85 + Actor91: brik Neutral 76,86 + Actor92: brik Neutral 76,87 + Actor93: brik Neutral 77,87 + Actor94: wood Neutral 27,88 + Actor95: wood Neutral 28,88 + Actor96: wood Neutral 29,88 + Actor97: brik Neutral 76,88 + Actor98: brik Neutral 77,88 + Actor99: wood Neutral 29,89 + Actor100: wood Neutral 29,91 + Actor101: wood Neutral 28,92 + Actor102: wood Neutral 29,92 + Actor103: tc01 Neutral 71,73 + Actor104: tc04 Neutral 73,73 + Actor105: tc05 Neutral 74,74 + Actor106: t10 Neutral 100,83 + Actor107: t08 Neutral 110,78 + Actor108: t07 Neutral 116,89 + Actor109: t06 Neutral 113,86 + Actor110: t05 Neutral 111,84 + Actor111: t02 Neutral 110,87 + Actor112: t01 Neutral 112,89 + Actor113: tc01 Neutral 76,58 + Actor114: t05 Neutral 93,49 + Actor115: t03 Neutral 93,47 + Actor116: t02 Neutral 91,54 + Actor117: t01 Neutral 105,73 + Actor118: tc02 Neutral 115,71 + Actor119: t17 Neutral 117,70 + Actor120: tc01 Neutral 107,89 + Actor121: tc05 Neutral 96,90 + Actor122: tc04 Neutral 97,88 + Actor123: tc01 Neutral 95,91 + Actor124: tc01 Neutral 112,73 + Actor125: t17 Neutral 105,82 + Actor126: t15 Neutral 96,85 + Actor127: tc05 Neutral 60,51 + Actor128: tc03 Neutral 62,89 + Actor129: tc02 Neutral 47,85 + Actor130: t17 Neutral 44,90 + Actor131: t15 Neutral 55,80 + Actor132: t14 Neutral 60,81 + Actor133: t13 Neutral 53,85 + Actor134: t12 Neutral 43,82 + Actor135: t11 Neutral 47,90 + Actor136: t08 Neutral 59,85 + Actor137: t07 Neutral 51,82 + Actor138: t01 Neutral 65,38 + Actor139: tc04 Neutral 62,39 + Actor140: tc03 Neutral 63,41 + Actor141: tc01 Neutral 55,77 + Actor142: tc05 Neutral 56,76 + Actor143: tc05 Neutral 65,67 + Actor144: tc04 Neutral 40,76 + Actor145: tc05 Neutral 56,67 + Actor146: tc04 Neutral 55,66 + Actor147: tc01 Neutral 54,68 + Actor148: tc02 Neutral 53,67 + Actor149: t02 Neutral 101,88 + Actor150: tc03 Neutral 41,69 + Actor151: tc01 Neutral 45,69 + Actor152: t17 Neutral 45,68 + Actor153: t16 Neutral 45,70 + Actor154: tc04 Neutral 36,83 + Actor155: t01 Neutral 41,87 + Actor156: tc03 Neutral 32,87 + Actor157: t11 Neutral 38,70 + Actor158: t12 Neutral 38,91 + Actor159: tc05 Neutral 29,82 + Actor160: tc04 Neutral 28,81 + Actor161: tc01 Neutral 37,73 + Actor162: t01 Neutral 38,67 + Actor163: tc05 Neutral 28,75 + Actor164: tc02 Neutral 26,73 + Actor165: tc04 Neutral 41,35 + Actor166: tc01 Neutral 31,35 + Actor167: t02 Neutral 29,40 + Actor168: tc05 Neutral 44,43 + Actor169: tc04 Neutral 41,44 + Actor170: tc03 Neutral 26,43 + Actor171: tc02 Neutral 26,36 + Actor172: tc02 Neutral 26,51 + Actor173: tc01 Neutral 97,42 + Actor174: t16 Neutral 85,44 + Actor175: t13 Neutral 82,61 + Actor176: t08 Neutral 85,62 + Actor177: t01 Neutral 66,55 + Actor178: t13 Neutral 104,41 + Actor179: t12 Neutral 104,42 + Actor180: tc02 Neutral 72,89 + Actor181: tc01 Neutral 69,89 + Actor182: t13 Neutral 71,91 + Actor183: tc01 Neutral 77,91 + Actor184: t17 Neutral 74,90 + Actor185: tc01 Neutral 84,74 + Actor186: t17 Neutral 82,74 + Actor187: tc02 Neutral 109,74 + Actor188: tc02 Neutral 92,74 + Actor189: tc04 Neutral 26,68 + Actor190: t01 Neutral 33,91 + Actor191: tc02 Neutral 39,38 + Actor192: tc01 Neutral 41,41 + Actor193: t01 Neutral 31,43 + Actor194: t07 Neutral 43,49 + Actor195: tc04 Neutral 30,57 + Actor196: tc03 Neutral 29,65 + Actor197: tc05 Neutral 38,61 + Actor198: t01 Neutral 50,36 + Actor199: t07 Neutral 57,42 + Actor200: t07 Neutral 66,63 + Actor201: t11 Neutral 62,59 + Actor202: tc01 Neutral 26,91 + Actor203: t17 Neutral 26,87 + Actor204: t16 Neutral 26,78 + Actor205: t16 Neutral 44,68 + Actor206: t01 Neutral 89,55 + Actor207: tc05 Neutral 83,57 + Actor208: tc04 Neutral 83,48 + Actor209: tc01 Neutral 83,54 + Actor210: t17 Neutral 82,55 + Actor211: tc01 Neutral 86,46 + Actor212: tc03 Neutral 103,62 + Actor213: t03 Neutral 99,58 + Actor214: t01 Neutral 103,79 + Actor215: tc05 Neutral 95,80 + Actor216: tc04 Neutral 92,76 + Actor217: tc03 Neutral 92,83 + Actor218: t01 Neutral 84,91 + Actor219: mine Neutral 52,39 + Actor220: mine Neutral 55,89 + Actor221: mine Neutral 54,56 + Actor222: mine Neutral 61,63 + Actor223: gap Greece 85,82 + Actor224: apwr Greece 89,86 + Actor225: apwr Greece 91,89 + Actor226: atek GoodGuy 95,45 + Actor227: agun GoodGuy 98,50 + Actor228: agun GoodGuy 98,53 + Actor229: atek GoodGuy 95,58 + Actor230: atek GoodGuy 89,52 + Actor231: gun GoodGuy 92,59 + Actor232: gun GoodGuy 92,46 + Actor233: pdox GoodGuy 94,52 + Actor234: agun GoodGuy 94,49 + Actor235: agun GoodGuy 94,54 + Actor236: gap GoodGuy 95,49 + Actor237: gap GoodGuy 95,54 + Actor238: apwr GoodGuy 106,45 + Actor239: apwr GoodGuy 103,45 + Actor240: weap Greece 82,78 + Actor241: dome Greece 84,83 + Actor242: gun Greece 75,78 + Actor243: gun Greece 75,83 + Actor244: fact Greece 86,76 + Actor245: apwr Greece 92,86 + Actor246: apwr Greece 88,89 + Actor247: tent Greece 79,76 + Actor248: tent Greece 80,83 + Actor249: gun Greece 79,84 + Actor250: gun Greece 87,82 + Actor251: gun Greece 81,77 + Actor252: hbox Greece 78,78 + Actor253: hbox Greece 78,83 + Actor254: hbox Greece 89,81 + Actor255: agun Greece 84,76 + Actor256: agun Greece 86,84 + Actor257: apwr Greece 27,45 + Actor258: tent Greece 37,45 + Actor259: domf Greece 29,49 + Actor260: gun GoodGuy 38,42 + Actor261: gun Greece 32,42 + Actor262: weap Greece 37,48 + Actor263: fact Greece 31,45 + Actor264: apwr Greece 32,49 + Actor265: gun Greece 40,54 + Actor266: gun Greece 34,56 + Actor267: hbox GoodGuy 94,45 + Actor268: hpad GoodGuy 103,59 + Actor269: hpad GoodGuy 86,57 + Actor270: hbox GoodGuy 97,45 + Actor271: hbox GoodGuy 99,51 + Actor272: apwr GoodGuy 106,54 + Actor273: silo Greece 86,87 + Actor274: atek Greece 27,89 + Actor275: hbox GoodGuy 94,60 + Actor276: hbox GoodGuy 97,60 + Actor277: hbox GoodGuy 88,51 + Actor278: hbox GoodGuy 88,54 + Actor279: hbox GoodGuy 99,54 + Actor280: apwr GoodGuy 103,54 + Actor281: apwr GoodGuy 107,48 + Actor282: apwr GoodGuy 107,51 + Actor283: hpad GoodGuy 102,42 + Actor284: fact GoodGuy 103,50 + Actor285: gun GoodGuy 100,48 + Actor286: gun GoodGuy 100,57 + Actor287: apwr GoodGuy 83,50 + Actor288: apwr GoodGuy 81,58 + Actor289: minv GoodGuy 59,76 + Actor290: minv GoodGuy 60,75 + Actor291: minv GoodGuy 61,76 + Actor292: minv GoodGuy 60,77 + Actor293: minv GoodGuy 58,75 + Actor294: minv GoodGuy 65,74 + Actor295: minv GoodGuy 67,72 + Actor296: minv GoodGuy 67,74 + Actor297: minv GoodGuy 66,73 + Actor298: minv GoodGuy 68,73 + Actor299: minv GoodGuy 65,72 + Actor300: silo Greece 87,86 + Actor301: silo Greece 87,88 + Actor302: syrd GoodGuy 96,74 + Actor303: 2tnk GoodGuy 55,75 + Actor304: 2tnk GoodGuy 57,73 + Actor305: 2tnk GoodGuy 69,88 + Actor306: 2tnk GoodGuy 74,80 + Actor307: 2tnk GoodGuy 49,85 + Actor308: 2tnk GoodGuy 50,82 + Actor309: 2tnk Greece 37,51 + Actor310: 2tnk Greece 30,52 + Actor311: 2tnk Greece 33,48 + Actor312: 1tnk GoodGuy 32,72 + Actor313: 2tnk GoodGuy 89,49 + Actor314: 2tnk GoodGuy 96,43 + Actor315: 2tnk GoodGuy 89,61 + Actor316: 2tnk GoodGuy 106,49 + Actor317: 2tnk GoodGuy 100,62 + Actor318: 2tnk GoodGuy 99,52 + Actor319: 1tnk GoodGuy 77,82 + Actor320: 2tnk GoodGuy 82,80 + Actor321: 1tnk GoodGuy 108,84 + Actor322: 1tnk GoodGuy 33,72 + Actor323: 1tnk GoodGuy 84,54 + Actor324: 1tnk GoodGuy 84,62 + Actor325: 1tnk GoodGuy 104,58 + Actor326: 1tnk GoodGuy 99,46 + Actor327: e1 Greece 37,47 + Actor328: e1 Greece 31,48 + Actor329: e3 Greece 35,46 + Actor330: e1 Greece 39,47 + Actor331: e1 Greece 38,51 + Actor332: e1 Greece 36,53 + Actor333: e1 Greece 34,54 + Actor334: e1 Greece 32,53 + Actor335: e1 Greece 40,51 + Actor336: e1 Greece 33,42 + Actor337: e1 Greece 37,42 + Actor338: e1 GoodGuy 37,79 + Actor339: e1 GoodGuy 36,80 + Actor340: e3 GoodGuy 36,79 + Actor341: e3 GoodGuy 37,79 + Actor342: e3 GoodGuy 53,85 + Actor343: e3 GoodGuy 48,83 + Actor344: e1 GoodGuy 50,83 + Actor345: e1 GoodGuy 49,87 + Actor346: e1 Greece 30,91 + Actor347: e1 Greece 32,90 + Actor348: e1 Greece 31,90 + Actor349: e3 GoodGuy 32,92 + Actor350: e3 GoodGuy 31,88 + Actor351: e3 GoodGuy 32,89 + Actor352: e3 GoodGuy 31,91 + Actor353: e1 GoodGuy 80,78 + Actor354: e1 GoodGuy 80,85 + Actor355: e3 GoodGuy 79,78 + Actor356: e3 GoodGuy 82,82 + Actor357: e1 GoodGuy 109,85 + Actor358: e1 GoodGuy 109,82 + Actor359: e1 GoodGuy 106,85 + Actor360: e1 GoodGuy 96,61 + Actor361: e1 GoodGuy 93,62 + Actor362: e1 GoodGuy 90,43 + Actor363: e1 GoodGuy 89,45 + Actor364: e3 GoodGuy 93,43 + Actor365: e3 GoodGuy 91,45 + Actor366: e1 GoodGuy 95,63 + Actor367: e1 GoodGuy 89,64 + Actor368: e1 GoodGuy 87,55 + Actor369: e1 GoodGuy 87,53 + Actor370: e1 GoodGuy 101,52 + Actor371: e1 GoodGuy 100,53 + Actor372: e1 GoodGuy 92,64 + Actor373: e1 GoodGuy 101,63 + Actor374: e3 GoodGuy 91,63 + Actor375: e3 GoodGuy 101,53 + Actor376: e3 GoodGuy 102,49 + Actor377: e3 GoodGuy 100,46 + Actor378: e3 GoodGuy 86,54 + Actor379: e3 GoodGuy 87,50 + Actor380: e3 GoodGuy 97,63 + Actor381: e3 GoodGuy 88,62 + Actor382: e3 GoodGuy 86,60 + Actor383: e3 GoodGuy 84,56 + +Waypoints: + spawn0: 36,36 + spawn1: 35,48 + spawn2: 33,36 + spawn3: 39,36 + spawn4: 29,36 + spawn5: 44,36 + spawn6: 32,46 + spawn7: 38,49 + +Smudges: + +Rules: + diff --git a/mods/ra/maps/shellmap/preview.png b/mods/ra/maps/shellmap/preview.png new file mode 100644 index 0000000000..ff9daec072 Binary files /dev/null and b/mods/ra/maps/shellmap/preview.png differ diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index 6ab2985a57..8679c6aca3 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -50,4 +50,4 @@ Voices: Terrain: mods/ra/terrain.yaml -ShellmapUid:d2d0811ce6cd64e836317039547ce777b5a199d3 +ShellmapUid:b22b0197b126d6236a7c1e18c3001c83af10156c