Skip to content

Commit ca83b9c

Browse files
Update map color palette
1 parent 1dd326b commit ca83b9c

File tree

3 files changed

+347
-130
lines changed

3 files changed

+347
-130
lines changed

invui/src/main/java/xyz/xenondevs/invui/util/ColorPalette.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import java.awt.*;
44
import java.awt.image.BufferedImage;
5-
import java.io.ByteArrayOutputStream;
65
import java.io.IOException;
76
import java.io.InputStream;
87

@@ -14,14 +13,12 @@ public final class ColorPalette {
1413
private static final byte[] colorCache;
1514

1615
static {
17-
ByteArrayOutputStream out = new ByteArrayOutputStream(256 * 256 * 256);
1816
try (InputStream in = ColorPalette.class.getResourceAsStream("/colors.bin")) {
1917
assert in != null;
20-
in.transferTo(out);
18+
colorCache = in.readNBytes(256 * 256 * 256);
2119
} catch (IOException e) {
2220
throw new RuntimeException(e);
2321
}
24-
colorCache = out.toByteArray();
2522
}
2623

2724
private ColorPalette() {}
@@ -46,7 +43,8 @@ public static byte getColor(int red, int green, int blue) {
4643
* @return The map color
4744
*/
4845
public static byte getColor(int argb) {
49-
if ((argb >> 24 & 0xFF) < 255) return 0;
46+
if ((argb >> 24 & 0xFF) < 255)
47+
return 0;
5048
return colorCache[argb & 0xFFFFFF];
5149
}
5250

invui/src/main/resources/colors.bin

Lines changed: 86 additions & 125 deletions
Large diffs are not rendered by default.
Lines changed: 258 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,258 @@
1+
package xyz.xenondevs.invui.util;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.junit.jupiter.api.Assertions.assertEquals;
6+
7+
class ColorPaletteTest {
8+
9+
@Test
10+
void testGetColor() {
11+
// Refer to MapColor.getColorFromPackedId
12+
assertEquals(-128, ColorPalette.getColor(52, 90, 180));
13+
assertEquals(-127, ColorPalette.getColor(63, 110, 220));
14+
assertEquals(-126, ColorPalette.getColor(74, 128, 255));
15+
assertEquals(-125, ColorPalette.getColor(39, 67, 135));
16+
assertEquals(-124, ColorPalette.getColor(0, 153, 40));
17+
assertEquals(-123, ColorPalette.getColor(0, 187, 50));
18+
assertEquals(-122, ColorPalette.getColor(0, 217, 58));
19+
assertEquals(-121, ColorPalette.getColor(0, 114, 30));
20+
assertEquals(-120, ColorPalette.getColor(91, 60, 34));
21+
assertEquals(-119, ColorPalette.getColor(111, 74, 42));
22+
assertEquals(-118, ColorPalette.getColor(129, 86, 49));
23+
assertEquals(-117, ColorPalette.getColor(68, 45, 25));
24+
assertEquals(-116, ColorPalette.getColor(79, 1, 0));
25+
assertEquals(-115, ColorPalette.getColor(96, 1, 0));
26+
assertEquals(-114, ColorPalette.getColor(112, 2, 0));
27+
assertEquals(-113, ColorPalette.getColor(59, 1, 0));
28+
assertEquals(-112, ColorPalette.getColor(147, 124, 113));
29+
assertEquals(-111, ColorPalette.getColor(180, 152, 138));
30+
assertEquals(-110, ColorPalette.getColor(209, 177, 161));
31+
assertEquals(-109, ColorPalette.getColor(110, 93, 85));
32+
assertEquals(-108, ColorPalette.getColor(112, 57, 25));
33+
assertEquals(-107, ColorPalette.getColor(137, 70, 31));
34+
assertEquals(-106, ColorPalette.getColor(159, 82, 36));
35+
assertEquals(-105, ColorPalette.getColor(84, 43, 19));
36+
assertEquals(-104, ColorPalette.getColor(105, 61, 76));
37+
assertEquals(-103, ColorPalette.getColor(128, 75, 93));
38+
assertEquals(-102, ColorPalette.getColor(149, 87, 108));
39+
assertEquals(-101, ColorPalette.getColor(78, 46, 57));
40+
assertEquals(-100, ColorPalette.getColor(79, 76, 97));
41+
assertEquals(-99, ColorPalette.getColor(96, 93, 119));
42+
assertEquals(-98, ColorPalette.getColor(112, 108, 138));
43+
assertEquals(-97, ColorPalette.getColor(59, 57, 73));
44+
assertEquals(-96, ColorPalette.getColor(131, 93, 25));
45+
assertEquals(-95, ColorPalette.getColor(160, 114, 31));
46+
assertEquals(-94, ColorPalette.getColor(186, 133, 36));
47+
assertEquals(-93, ColorPalette.getColor(98, 70, 19));
48+
assertEquals(-92, ColorPalette.getColor(72, 82, 37));
49+
assertEquals(-91, ColorPalette.getColor(88, 100, 45));
50+
assertEquals(-90, ColorPalette.getColor(103, 117, 53));
51+
assertEquals(-89, ColorPalette.getColor(54, 61, 28));
52+
assertEquals(-88, ColorPalette.getColor(112, 54, 55));
53+
assertEquals(-87, ColorPalette.getColor(138, 66, 67));
54+
assertEquals(-86, ColorPalette.getColor(160, 77, 78));
55+
assertEquals(-85, ColorPalette.getColor(84, 40, 41));
56+
assertEquals(-84, ColorPalette.getColor(40, 28, 24));
57+
assertEquals(-83, ColorPalette.getColor(49, 35, 30));
58+
assertEquals(-82, ColorPalette.getColor(57, 41, 35));
59+
assertEquals(-81, ColorPalette.getColor(30, 21, 18));
60+
assertEquals(-80, ColorPalette.getColor(95, 75, 69));
61+
assertEquals(-79, ColorPalette.getColor(116, 92, 84));
62+
assertEquals(-78, ColorPalette.getColor(135, 107, 98));
63+
assertEquals(-77, ColorPalette.getColor(71, 56, 51));
64+
assertEquals(-76, ColorPalette.getColor(61, 64, 64));
65+
assertEquals(-75, ColorPalette.getColor(75, 79, 79));
66+
assertEquals(-74, ColorPalette.getColor(87, 92, 92));
67+
assertEquals(-73, ColorPalette.getColor(46, 48, 48));
68+
assertEquals(-72, ColorPalette.getColor(86, 51, 62));
69+
assertEquals(-71, ColorPalette.getColor(105, 62, 75));
70+
assertEquals(-70, ColorPalette.getColor(122, 73, 88));
71+
assertEquals(-69, ColorPalette.getColor(64, 38, 46));
72+
assertEquals(-68, ColorPalette.getColor(53, 43, 64));
73+
assertEquals(-67, ColorPalette.getColor(65, 53, 79));
74+
assertEquals(-66, ColorPalette.getColor(76, 62, 92));
75+
assertEquals(-65, ColorPalette.getColor(40, 32, 48));
76+
assertEquals(-64, ColorPalette.getColor(53, 35, 24));
77+
assertEquals(-63, ColorPalette.getColor(65, 43, 30));
78+
assertEquals(-62, ColorPalette.getColor(76, 50, 35));
79+
assertEquals(-61, ColorPalette.getColor(40, 26, 18));
80+
assertEquals(-60, ColorPalette.getColor(53, 57, 29));
81+
assertEquals(-59, ColorPalette.getColor(65, 70, 36));
82+
assertEquals(-58, ColorPalette.getColor(76, 82, 42));
83+
assertEquals(-57, ColorPalette.getColor(40, 43, 22));
84+
assertEquals(-56, ColorPalette.getColor(100, 42, 32));
85+
assertEquals(-55, ColorPalette.getColor(122, 51, 39));
86+
assertEquals(-54, ColorPalette.getColor(142, 60, 46));
87+
assertEquals(-53, ColorPalette.getColor(75, 31, 24));
88+
assertEquals(-52, ColorPalette.getColor(26, 15, 11));
89+
assertEquals(-51, ColorPalette.getColor(31, 18, 13));
90+
assertEquals(-50, ColorPalette.getColor(37, 22, 16));
91+
assertEquals(-49, ColorPalette.getColor(19, 11, 8));
92+
assertEquals(-48, ColorPalette.getColor(133, 33, 34));
93+
assertEquals(-47, ColorPalette.getColor(163, 41, 42));
94+
assertEquals(-46, ColorPalette.getColor(189, 48, 49));
95+
assertEquals(-45, ColorPalette.getColor(100, 25, 25));
96+
assertEquals(-44, ColorPalette.getColor(104, 44, 68));
97+
assertEquals(-43, ColorPalette.getColor(127, 54, 83));
98+
assertEquals(-42, ColorPalette.getColor(148, 63, 97));
99+
assertEquals(-41, ColorPalette.getColor(78, 33, 51));
100+
assertEquals(-40, ColorPalette.getColor(64, 17, 20));
101+
assertEquals(-39, ColorPalette.getColor(79, 21, 25));
102+
assertEquals(-38, ColorPalette.getColor(92, 25, 29));
103+
assertEquals(-37, ColorPalette.getColor(48, 13, 15));
104+
assertEquals(-36, ColorPalette.getColor(15, 88, 94));
105+
assertEquals(-35, ColorPalette.getColor(18, 108, 115));
106+
assertEquals(-34, ColorPalette.getColor(22, 126, 134));
107+
assertEquals(-33, ColorPalette.getColor(11, 66, 70));
108+
assertEquals(-32, ColorPalette.getColor(40, 100, 98));
109+
assertEquals(-31, ColorPalette.getColor(50, 122, 120));
110+
assertEquals(-30, ColorPalette.getColor(58, 142, 140));
111+
assertEquals(-29, ColorPalette.getColor(30, 75, 74));
112+
assertEquals(-28, ColorPalette.getColor(60, 31, 43));
113+
assertEquals(-27, ColorPalette.getColor(74, 37, 53));
114+
assertEquals(-26, ColorPalette.getColor(86, 44, 62));
115+
assertEquals(-25, ColorPalette.getColor(45, 23, 32));
116+
assertEquals(-24, ColorPalette.getColor(14, 127, 93));
117+
assertEquals(-23, ColorPalette.getColor(17, 155, 114));
118+
assertEquals(-22, ColorPalette.getColor(20, 180, 133));
119+
assertEquals(-21, ColorPalette.getColor(10, 95, 70));
120+
assertEquals(-20, ColorPalette.getColor(70, 70, 70));
121+
assertEquals(-19, ColorPalette.getColor(86, 86, 86));
122+
assertEquals(-18, ColorPalette.getColor(100, 100, 100));
123+
assertEquals(-17, ColorPalette.getColor(52, 52, 52));
124+
assertEquals(-16, ColorPalette.getColor(152, 123, 103));
125+
assertEquals(-15, ColorPalette.getColor(186, 150, 126));
126+
assertEquals(-14, ColorPalette.getColor(216, 175, 147));
127+
assertEquals(-13, ColorPalette.getColor(114, 92, 77));
128+
assertEquals(-12, ColorPalette.getColor(89, 117, 105));
129+
assertEquals(-11, ColorPalette.getColor(109, 144, 129));
130+
assertEquals(-10, ColorPalette.getColor(127, 167, 150));
131+
assertEquals(-9, ColorPalette.getColor(67, 88, 79));
132+
assertEquals(4, ColorPalette.getColor(89, 125, 39));
133+
assertEquals(5, ColorPalette.getColor(109, 153, 48));
134+
assertEquals(6, ColorPalette.getColor(127, 178, 56));
135+
assertEquals(7, ColorPalette.getColor(67, 94, 29));
136+
assertEquals(8, ColorPalette.getColor(174, 164, 115));
137+
assertEquals(9, ColorPalette.getColor(213, 201, 140));
138+
assertEquals(10, ColorPalette.getColor(247, 233, 163));
139+
assertEquals(11, ColorPalette.getColor(130, 123, 86));
140+
assertEquals(12, ColorPalette.getColor(140, 140, 140));
141+
assertEquals(13, ColorPalette.getColor(171, 171, 171));
142+
assertEquals(14, ColorPalette.getColor(199, 199, 199));
143+
assertEquals(15, ColorPalette.getColor(105, 105, 105));
144+
assertEquals(16, ColorPalette.getColor(180, 0, 0));
145+
assertEquals(17, ColorPalette.getColor(220, 0, 0));
146+
assertEquals(18, ColorPalette.getColor(255, 0, 0));
147+
assertEquals(19, ColorPalette.getColor(135, 0, 0));
148+
assertEquals(20, ColorPalette.getColor(112, 112, 180));
149+
assertEquals(21, ColorPalette.getColor(138, 138, 220));
150+
assertEquals(22, ColorPalette.getColor(160, 160, 255));
151+
assertEquals(23, ColorPalette.getColor(84, 84, 135));
152+
assertEquals(24, ColorPalette.getColor(117, 117, 117));
153+
assertEquals(25, ColorPalette.getColor(144, 144, 144));
154+
assertEquals(26, ColorPalette.getColor(167, 167, 167));
155+
assertEquals(27, ColorPalette.getColor(88, 88, 88));
156+
assertEquals(28, ColorPalette.getColor(0, 87, 0));
157+
assertEquals(29, ColorPalette.getColor(0, 106, 0));
158+
assertEquals(30, ColorPalette.getColor(0, 124, 0));
159+
assertEquals(31, ColorPalette.getColor(0, 65, 0));
160+
assertEquals(32, ColorPalette.getColor(180, 180, 180));
161+
assertEquals(33, ColorPalette.getColor(220, 220, 220));
162+
assertEquals(34, ColorPalette.getColor(255, 255, 255));
163+
assertEquals(35, ColorPalette.getColor(135, 135, 135));
164+
assertEquals(36, ColorPalette.getColor(115, 118, 129));
165+
assertEquals(37, ColorPalette.getColor(141, 144, 158));
166+
assertEquals(38, ColorPalette.getColor(164, 168, 184));
167+
assertEquals(39, ColorPalette.getColor(86, 88, 97));
168+
assertEquals(40, ColorPalette.getColor(106, 76, 54));
169+
assertEquals(41, ColorPalette.getColor(130, 94, 66));
170+
assertEquals(42, ColorPalette.getColor(151, 109, 77));
171+
assertEquals(43, ColorPalette.getColor(79, 57, 40));
172+
assertEquals(44, ColorPalette.getColor(79, 79, 79));
173+
assertEquals(45, ColorPalette.getColor(96, 96, 96));
174+
assertEquals(46, ColorPalette.getColor(112, 112, 112));
175+
assertEquals(47, ColorPalette.getColor(59, 59, 59));
176+
assertEquals(48, ColorPalette.getColor(45, 45, 180));
177+
assertEquals(49, ColorPalette.getColor(55, 55, 220));
178+
assertEquals(50, ColorPalette.getColor(64, 64, 255));
179+
assertEquals(51, ColorPalette.getColor(33, 33, 135));
180+
assertEquals(52, ColorPalette.getColor(100, 84, 50));
181+
assertEquals(53, ColorPalette.getColor(123, 102, 62));
182+
assertEquals(54, ColorPalette.getColor(143, 119, 72));
183+
assertEquals(55, ColorPalette.getColor(75, 63, 38));
184+
assertEquals(56, ColorPalette.getColor(180, 177, 172));
185+
assertEquals(57, ColorPalette.getColor(220, 217, 211));
186+
assertEquals(58, ColorPalette.getColor(255, 252, 245));
187+
assertEquals(59, ColorPalette.getColor(135, 133, 129));
188+
assertEquals(60, ColorPalette.getColor(152, 89, 36));
189+
assertEquals(61, ColorPalette.getColor(186, 109, 44));
190+
assertEquals(62, ColorPalette.getColor(216, 127, 51));
191+
assertEquals(63, ColorPalette.getColor(114, 67, 27));
192+
assertEquals(64, ColorPalette.getColor(125, 53, 152));
193+
assertEquals(65, ColorPalette.getColor(153, 65, 186));
194+
assertEquals(66, ColorPalette.getColor(178, 76, 216));
195+
assertEquals(67, ColorPalette.getColor(94, 40, 114));
196+
assertEquals(68, ColorPalette.getColor(72, 108, 152));
197+
assertEquals(69, ColorPalette.getColor(88, 132, 186));
198+
assertEquals(70, ColorPalette.getColor(102, 153, 216));
199+
assertEquals(71, ColorPalette.getColor(54, 81, 114));
200+
assertEquals(72, ColorPalette.getColor(161, 161, 36));
201+
assertEquals(73, ColorPalette.getColor(197, 197, 44));
202+
assertEquals(74, ColorPalette.getColor(229, 229, 51));
203+
assertEquals(75, ColorPalette.getColor(121, 121, 27));
204+
assertEquals(76, ColorPalette.getColor(89, 144, 17));
205+
assertEquals(77, ColorPalette.getColor(109, 176, 21));
206+
assertEquals(78, ColorPalette.getColor(127, 204, 25));
207+
assertEquals(79, ColorPalette.getColor(67, 108, 13));
208+
assertEquals(80, ColorPalette.getColor(170, 89, 116));
209+
assertEquals(81, ColorPalette.getColor(208, 109, 142));
210+
assertEquals(82, ColorPalette.getColor(242, 127, 165));
211+
assertEquals(83, ColorPalette.getColor(128, 67, 87));
212+
assertEquals(84, ColorPalette.getColor(53, 53, 53));
213+
assertEquals(85, ColorPalette.getColor(65, 65, 65));
214+
assertEquals(86, ColorPalette.getColor(76, 76, 76));
215+
assertEquals(87, ColorPalette.getColor(40, 40, 40));
216+
assertEquals(88, ColorPalette.getColor(108, 108, 108));
217+
assertEquals(89, ColorPalette.getColor(132, 132, 132));
218+
assertEquals(90, ColorPalette.getColor(153, 153, 153));
219+
assertEquals(91, ColorPalette.getColor(81, 81, 81));
220+
assertEquals(92, ColorPalette.getColor(53, 89, 108));
221+
assertEquals(93, ColorPalette.getColor(65, 109, 132));
222+
assertEquals(94, ColorPalette.getColor(76, 127, 153));
223+
assertEquals(95, ColorPalette.getColor(40, 67, 81));
224+
assertEquals(96, ColorPalette.getColor(89, 44, 125));
225+
assertEquals(97, ColorPalette.getColor(109, 54, 153));
226+
assertEquals(98, ColorPalette.getColor(127, 63, 178));
227+
assertEquals(99, ColorPalette.getColor(67, 33, 94));
228+
assertEquals(100, ColorPalette.getColor(36, 53, 125));
229+
assertEquals(101, ColorPalette.getColor(44, 65, 153));
230+
assertEquals(102, ColorPalette.getColor(51, 76, 178));
231+
assertEquals(103, ColorPalette.getColor(27, 40, 94));
232+
assertEquals(104, ColorPalette.getColor(72, 53, 36));
233+
assertEquals(105, ColorPalette.getColor(88, 65, 44));
234+
assertEquals(106, ColorPalette.getColor(102, 76, 51));
235+
assertEquals(107, ColorPalette.getColor(54, 40, 27));
236+
assertEquals(108, ColorPalette.getColor(72, 89, 36));
237+
assertEquals(109, ColorPalette.getColor(88, 109, 44));
238+
assertEquals(110, ColorPalette.getColor(102, 127, 51));
239+
assertEquals(111, ColorPalette.getColor(54, 67, 27));
240+
assertEquals(112, ColorPalette.getColor(108, 36, 36));
241+
assertEquals(113, ColorPalette.getColor(132, 44, 44));
242+
assertEquals(114, ColorPalette.getColor(153, 51, 51));
243+
assertEquals(115, ColorPalette.getColor(81, 27, 27));
244+
assertEquals(116, ColorPalette.getColor(17, 17, 17));
245+
assertEquals(117, ColorPalette.getColor(21, 21, 21));
246+
assertEquals(118, ColorPalette.getColor(25, 25, 25));
247+
assertEquals(119, ColorPalette.getColor(13, 13, 13));
248+
assertEquals(120, ColorPalette.getColor(176, 168, 54));
249+
assertEquals(121, ColorPalette.getColor(215, 205, 66));
250+
assertEquals(122, ColorPalette.getColor(250, 238, 77));
251+
assertEquals(123, ColorPalette.getColor(132, 126, 40));
252+
assertEquals(124, ColorPalette.getColor(64, 154, 150));
253+
assertEquals(125, ColorPalette.getColor(79, 188, 183));
254+
assertEquals(126, ColorPalette.getColor(92, 219, 213));
255+
assertEquals(127, ColorPalette.getColor(48, 115, 112));
256+
}
257+
258+
}

0 commit comments

Comments
 (0)