StringMap g_hTopColors; void AddTopColors() { if (!g_hTopColors) { g_hTopColors = new StringMap(); } AddTopColor("aliceblue", "F0F8FF"); AddTopColor("allies", "4D7942"); AddTopColor("ancient", "EB4B4B"); AddTopColor("antiquewhite", "FAEBD7"); AddTopColor("aqua", "00FFFF"); AddTopColor("aquamarine", "7FFFD4"); AddTopColor("arcana", "ADE55C"); AddTopColor("axis", "FF4040"); AddTopColor("azure", "007FFF"); AddTopColor("beige", "F5F5DC"); AddTopColor("bisque", "FFE4C4"); AddTopColor("black", "000000"); AddTopColor("blanchedalmond", "FFEBCD"); AddTopColor("blue", "99CCFF"); AddTopColor("blueviolet", "8A2BE2"); AddTopColor("brown", "A52A2A"); AddTopColor("burlywood", "DEB887"); AddTopColor("cadetblue", "5F9EA0"); AddTopColor("chartreuse", "7FFF00"); AddTopColor("chocolate", "D2691E"); AddTopColor("collectors", "AA0000"); AddTopColor("common", "B0C3D9"); AddTopColor("community", "70B04A"); AddTopColor("coral", "FF7F50"); AddTopColor("cornflowerblue", "6495ED"); AddTopColor("cornsilk", "FFF8DC"); AddTopColor("corrupted", "A32C2E"); AddTopColor("crimson", "DC143C"); AddTopColor("cyan", "00FFFF"); AddTopColor("darkblue", "00008B"); AddTopColor("darkcyan", "008B8B"); AddTopColor("darkgoldenrod", "B8860B"); AddTopColor("darkgray", "A9A9A9"); AddTopColor("darkgrey", "A9A9A9"); AddTopColor("darkgreen", "006400"); AddTopColor("darkkhaki", "BDB76B"); AddTopColor("darkmagenta", "8B008B"); AddTopColor("darkolivegreen", "556B2F"); AddTopColor("darkorange", "FF8C00"); AddTopColor("darkorchid", "9932CC"); AddTopColor("darkred", "8B0000"); AddTopColor("darksalmon", "E9967A"); AddTopColor("darkseagreen", "8FBC8F"); AddTopColor("darkslateblue", "483D8B"); AddTopColor("darkslategray", "2F4F4F"); AddTopColor("darkslategrey", "2F4F4F"); AddTopColor("darkturquoise", "00CED1"); AddTopColor("darkviolet", "9400D3"); AddTopColor("deeppink", "FF1493"); AddTopColor("deepskyblue", "00BFFF"); AddTopColor("dimgray", "696969"); AddTopColor("dimgrey", "696969"); AddTopColor("dodgerblue", "1E90FF"); AddTopColor("exalted", "CCCCCD"); AddTopColor("firebrick", "B22222"); AddTopColor("floralwhite", "FFFAF0"); AddTopColor("forestgreen", "228B22"); AddTopColor("frozen", "4983B3"); AddTopColor("fuchsia", "FF00FF"); AddTopColor("fullblue", "0000FF"); AddTopColor("fullred", "FF0000"); AddTopColor("gainsboro", "DCDCDC"); AddTopColor("genuine", "4D7455"); AddTopColor("ghostwhite", "F8F8FF"); AddTopColor("gold", "FFD700"); AddTopColor("goldenrod", "DAA520"); AddTopColor("gray", "CCCCCC"); AddTopColor("grey", "CCCCCC"); AddTopColor("green", "3EFF3E"); AddTopColor("greenyellow", "ADFF2F"); AddTopColor("haunted", "38F3AB"); AddTopColor("honeydew", "F0FFF0"); AddTopColor("hotpink", "FF69B4"); AddTopColor("immortal", "E4AE33"); AddTopColor("indianred", "CD5C5C"); AddTopColor("indigo", "4B0082"); AddTopColor("ivory", "FFFFF0"); AddTopColor("khaki", "F0E68C"); AddTopColor("lavender", "E6E6FA"); AddTopColor("lavenderblush", "FFF0F5"); AddTopColor("lawngreen", "7CFC00"); AddTopColor("legendary", "D32CE6"); AddTopColor("lemonchiffon", "FFFACD"); AddTopColor("lightblue", "ADD8E6"); AddTopColor("lightcoral", "F08080"); AddTopColor("lightcyan", "E0FFFF"); AddTopColor("lightgoldenrodyellow", "FAFAD2"); AddTopColor("lightgray", "D3D3D3"); AddTopColor("lightgrey", "D3D3D3"); AddTopColor("lightgreen", "99FF99"); AddTopColor("lightpink", "FFB6C1"); AddTopColor("lightsalmon", "FFA07A"); AddTopColor("lightseagreen", "20B2AA"); AddTopColor("lightskyblue", "87CEFA"); AddTopColor("lightslategray", "778899"); AddTopColor("lightslategrey", "778899"); AddTopColor("lightsteelblue", "B0C4DE"); AddTopColor("lightyellow", "FFFFE0"); AddTopColor("lime", "00FF00"); AddTopColor("limegreen", "32CD32"); AddTopColor("linen", "FAF0E6"); AddTopColor("magenta", "FF00FF"); AddTopColor("maroon", "800000"); AddTopColor("mediumaquamarine", "66CDAA"); AddTopColor("mediumblue", "0000CD"); AddTopColor("mediumorchid", "BA55D3"); AddTopColor("mediumpurple", "9370D8"); AddTopColor("mediumseagreen", "3CB371"); AddTopColor("mediumslateblue", "7B68EE"); AddTopColor("mediumspringgreen", "00FA9A"); AddTopColor("mediumturquoise", "48D1CC"); AddTopColor("mediumvioletred", "C71585"); AddTopColor("midnightblue", "191970"); AddTopColor("mintcream", "F5FFFA"); AddTopColor("mistyrose", "FFE4E1"); AddTopColor("moccasin", "FFE4B5"); AddTopColor("mythical", "8847FF"); AddTopColor("navajowhite", "FFDEAD"); AddTopColor("navy", "000080"); AddTopColor("normal", "B2B2B2"); AddTopColor("oldlace", "FDF5E6"); AddTopColor("olive", "9EC34F"); AddTopColor("olivedrab", "6B8E23"); AddTopColor("orange", "FFA500"); AddTopColor("orangered", "FF4500"); AddTopColor("orchid", "DA70D6"); AddTopColor("palegoldenrod", "EEE8AA"); AddTopColor("palegreen", "98FB98"); AddTopColor("paleturquoise", "AFEEEE"); AddTopColor("palevioletred", "D87093"); AddTopColor("papayawhip", "FFEFD5"); AddTopColor("peachpuff", "FFDAB9"); AddTopColor("peru", "CD853F"); AddTopColor("pink", "FFC0CB"); AddTopColor("plum", "DDA0DD"); AddTopColor("powderblue", "B0E0E6"); AddTopColor("purple", "800080"); AddTopColor("rare", "4B69FF"); AddTopColor("red", "FF4040"); AddTopColor("rosybrown", "BC8F8F"); AddTopColor("royalblue", "4169E1"); AddTopColor("saddlebrown", "8B4513"); AddTopColor("salmon", "FA8072"); AddTopColor("sandybrown", "F4A460"); AddTopColor("seagreen", "2E8B57"); AddTopColor("seashell", "FFF5EE"); AddTopColor("selfmade", "70B04A"); AddTopColor("sienna", "A0522D"); AddTopColor("silver", "C0C0C0"); AddTopColor("skyblue", "87CEEB"); AddTopColor("slateblue", "6A5ACD"); AddTopColor("slategray", "708090"); AddTopColor("slategrey", "708090"); AddTopColor("snow", "FFFAFA"); AddTopColor("springgreen", "00FF7F"); AddTopColor("steelblue", "4682B4"); AddTopColor("strange", "CF6A32"); AddTopColor("tan", "D2B48C"); AddTopColor("teal", "008080"); AddTopColor("thistle", "D8BFD8"); AddTopColor("tomato", "FF6347"); AddTopColor("turquoise", "40E0D0"); AddTopColor("uncommon", "B0C3D9"); AddTopColor("unique", "FFD700"); AddTopColor("unusual", "8650AC"); AddTopColor("valve", "A50F79"); AddTopColor("vintage", "476291"); AddTopColor("violet", "EE82EE"); AddTopColor("wheat", "F5DEB3"); AddTopColor("white", "FFFFFF"); AddTopColor("whitesmoke", "F5F5F5"); AddTopColor("yellow", "FFFF00"); AddTopColor("yellowgreen", "9ACD32"); } void AddTopColor(const char[] sName, const char[] sColor) { int aColor[4]; ParseColor(sColor, aColor); g_hTopColors.SetArray(sName, aColor, sizeof(aColor)); } void ParseColor(const char[] sColor, int aColor[4]) { int iColor = StringToInt(sColor, 16); aColor[0] = iColor >> 16; aColor[1] = iColor >> 8 & 255; aColor[2] = iColor & 255; aColor[3] = 255; } void ParseTopColor(const char[] sText, int &iStart, int aColor[4]) { int iEnd = StrContains(sText, "}"); if (sText[0] != '{' || iEnd == -1) { return; } char sColor[32]; strcopy(sColor, iEnd, sText[1]); if (sColor[0] == '#') { ParseColor(sColor[1], aColor); } else { g_hTopColors.GetArray(sColor, aColor, sizeof(aColor)); } iStart = iEnd + 1; }