Skip to content

Commit af7baf5

Browse files
Reduce size of fCraft dll by 2 KB by using more efficient initaliser in BlockPalette
1 parent 7c2f473 commit af7baf5

File tree

1 file changed

+117
-112
lines changed

1 file changed

+117
-112
lines changed

fCraft/Drawing/BlockPalette.cs

Lines changed: 117 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ protected void Add(RgbColor color, [NotNull] Block[] blocks)
5555
{
5656
Add(RgbToLab(color, false), blocks);
5757
}
58+
59+
protected void Add(RgbColor color, Block block)
60+
{
61+
Add(RgbToLab(color, false), new Block[] { block });
62+
}
5863

5964

6065
protected void Add(LabColor color, Block[] blocks)
@@ -324,68 +329,68 @@ public static BlockPalette GetPalette(StandardBlockPalette palette)
324329
static BlockPalette DefineLight()
325330
{
326331
return new BlockPalette("Light", 1) {
327-
{ RgbColor.FromArgb(109, 80, 57), new[] { Block.Dirt } },
328-
{ RgbColor.FromArgb(176, 170, 130), new[] { Block.Sand } },
329-
{ RgbColor.FromArgb(111, 104, 104), new[] { Block.Gravel } },
330-
{ RgbColor.FromArgb(179, 44, 44), new[] { Block.Red } },
331-
{ RgbColor.FromArgb(179, 111, 44), new[] { Block.Orange } },
332-
{ RgbColor.FromArgb(179, 179, 44), new[] { Block.Yellow } },
333-
{ RgbColor.FromArgb(109, 179, 44), new[] { Block.Lime } },
334-
{ RgbColor.FromArgb(44, 179, 44), new[] { Block.Green } },
335-
{ RgbColor.FromArgb(44, 179, 111), new[] { Block.Teal } },
336-
{ RgbColor.FromArgb(44, 179, 179), new[] { Block.Aqua } },
337-
{ RgbColor.FromArgb(86, 132, 179), new[] { Block.Cyan } },
338-
{ RgbColor.FromArgb(99, 99, 180), new[] { Block.Blue } },
339-
{ RgbColor.FromArgb(111, 44, 180), new[] { Block.Indigo } },
340-
{ RgbColor.FromArgb(141, 62, 179), new[] { Block.Violet } },
341-
{ RgbColor.FromArgb(180, 44, 180), new[] { Block.Magenta } },
342-
{ RgbColor.FromArgb(179, 44, 111), new[] { Block.Pink } },
343-
{ RgbColor.FromArgb(64, 64, 64), new[] { Block.Black } },
344-
{ RgbColor.FromArgb(118, 118, 118), new[] { Block.Gray } },
345-
{ RgbColor.FromArgb(179, 179, 179), new[] { Block.White } },
346-
{ RgbColor.FromArgb(21, 19, 29), new[] { Block.Obsidian } }
332+
{ RgbColor.FromArgb(109, 80, 57), Block.Dirt },
333+
{ RgbColor.FromArgb(176, 170, 130), Block.Sand },
334+
{ RgbColor.FromArgb(111, 104, 104), Block.Gravel },
335+
{ RgbColor.FromArgb(179, 44, 44), Block.Red },
336+
{ RgbColor.FromArgb(179, 111, 44), Block.Orange },
337+
{ RgbColor.FromArgb(179, 179, 44), Block.Yellow },
338+
{ RgbColor.FromArgb(109, 179, 44), Block.Lime },
339+
{ RgbColor.FromArgb(44, 179, 44), Block.Green },
340+
{ RgbColor.FromArgb(44, 179, 111), Block.Teal },
341+
{ RgbColor.FromArgb(44, 179, 179), Block.Aqua },
342+
{ RgbColor.FromArgb(86, 132, 179), Block.Cyan },
343+
{ RgbColor.FromArgb(99, 99, 180), Block.Blue },
344+
{ RgbColor.FromArgb(111, 44, 180), Block.Indigo },
345+
{ RgbColor.FromArgb(141, 62, 179), Block.Violet },
346+
{ RgbColor.FromArgb(180, 44, 180), Block.Magenta },
347+
{ RgbColor.FromArgb(179, 44, 111), Block.Pink },
348+
{ RgbColor.FromArgb(64, 64, 64), Block.Black },
349+
{ RgbColor.FromArgb(118, 118, 118), Block.Gray },
350+
{ RgbColor.FromArgb(179, 179, 179), Block.White },
351+
{ RgbColor.FromArgb(21, 19, 29), Block.Obsidian }
347352
};
348353
}
349354

350355
[NotNull]
351356
static BlockPalette DefineLight2() {
352357
return new BlockPalette("Light2", 1) {
353-
{RgbColor.FromArgb( 124, 124, 124 ), new[] {Block.Stone}},//
354-
{RgbColor.FromArgb( 125, 89, 61 ), new[] {Block.Dirt}},//
355-
{RgbColor.FromArgb( 97, 97, 97 ), new[] {Block.Admincrete}},//
356-
{RgbColor.FromArgb( 157, 128, 79 ), new[] {Block.Wood}},//
357-
{RgbColor.FromArgb( 211, 204, 151 ), new[] {Block.Sand}},//
358-
{RgbColor.FromArgb( 128, 124, 122 ), new[] {Block.Gravel}},//
359-
{RgbColor.FromArgb( 92, 72, 43 ), new[] {Block.Log}},//
360-
{RgbColor.FromArgb( 188, 190, 61 ), new[] {Block.Sponge}},//
361-
{RgbColor.FromArgb( 195, 44, 44 ), new[] {Block.Red}},//
362-
{RgbColor.FromArgb( 195, 119, 44 ), new[] {Block.Orange}},//
363-
{RgbColor.FromArgb( 195, 195, 44 ), new[] {Block.Yellow}},//
364-
{RgbColor.FromArgb( 119, 195, 44 ), new[] {Block.Lime}},//
365-
{RgbColor.FromArgb( 44, 195, 44 ), new[] {Block.Green}},//
366-
{RgbColor.FromArgb( 44, 195, 119 ), new[] {Block.Teal}},//
367-
{RgbColor.FromArgb( 44, 195, 195 ), new[] {Block.Aqua}},//
368-
{RgbColor.FromArgb( 91, 143, 195 ), new[] {Block.Cyan}},//
369-
{RgbColor.FromArgb( 105, 105, 195 ), new[] {Block.Blue}},//
370-
{RgbColor.FromArgb( 119, 44, 195 ), new[] {Block.Indigo}},//
371-
{RgbColor.FromArgb( 152, 65, 195 ), new[] {Block.Violet}},//
372-
{RgbColor.FromArgb( 195, 44, 195 ), new[] {Block.Magenta}},//
373-
{RgbColor.FromArgb( 195, 44, 119 ), new[] {Block.Pink}},//
374-
{RgbColor.FromArgb( 68, 68, 68 ), new[] {Block.Black}},//
375-
{RgbColor.FromArgb( 125, 125, 125 ), new[] {Block.Gray}},//
376-
{RgbColor.FromArgb( 195, 195, 195 ), new[] {Block.White}},//
377-
{RgbColor.FromArgb( 252, 242, 83 ), new[] {Block.Gold}},//
378-
{RgbColor.FromArgb( 234, 234, 234 ), new[] {Block.Iron}},//
379-
{RgbColor.FromArgb( 185, 110, 98 ), new[] {Block.Brick}},//
380-
{RgbColor.FromArgb( 23, 20, 34 ), new[] {Block.Obsidian}},//
381-
{RgbColor.FromArgb( 221, 214, 165 ), new[] {Block.Sandstone}},//
382-
{RgbColor.FromArgb( 191, 116, 136 ), new[] {Block.LightPink}},//
383-
{RgbColor.FromArgb( 49, 68, 21 ), new[] {Block.DarkGreen}},//
384-
{RgbColor.FromArgb( 75, 45, 25 ), new[] {Block.Brown}},//
385-
{RgbColor.FromArgb( 34, 45, 135 ), new[] {Block.DarkBlue}},//
386-
{RgbColor.FromArgb( 34, 102, 131 ), new[] {Block.Turquoise}},//
387-
{RgbColor.FromArgb( 216, 219, 237 ), new[] {Block.Tile}},//
388-
{RgbColor.FromArgb( 232, 228, 220 ), new[] {Block.Pillar}}//
358+
{RgbColor.FromArgb( 124, 124, 124 ), Block.Stone},//
359+
{RgbColor.FromArgb( 125, 89, 61 ), Block.Dirt},//
360+
{RgbColor.FromArgb( 97, 97, 97 ), Block.Admincrete},//
361+
{RgbColor.FromArgb( 157, 128, 79 ), Block.Wood},//
362+
{RgbColor.FromArgb( 211, 204, 151 ), Block.Sand},//
363+
{RgbColor.FromArgb( 128, 124, 122 ), Block.Gravel},//
364+
{RgbColor.FromArgb( 92, 72, 43 ), Block.Log},//
365+
{RgbColor.FromArgb( 188, 190, 61 ), Block.Sponge},//
366+
{RgbColor.FromArgb( 195, 44, 44 ), Block.Red},//
367+
{RgbColor.FromArgb( 195, 119, 44 ), Block.Orange},//
368+
{RgbColor.FromArgb( 195, 195, 44 ), Block.Yellow},//
369+
{RgbColor.FromArgb( 119, 195, 44 ), Block.Lime},//
370+
{RgbColor.FromArgb( 44, 195, 44 ), Block.Green},//
371+
{RgbColor.FromArgb( 44, 195, 119 ), Block.Teal},//
372+
{RgbColor.FromArgb( 44, 195, 195 ), Block.Aqua},//
373+
{RgbColor.FromArgb( 91, 143, 195 ), Block.Cyan},//
374+
{RgbColor.FromArgb( 105, 105, 195 ), Block.Blue},//
375+
{RgbColor.FromArgb( 119, 44, 195 ), Block.Indigo},//
376+
{RgbColor.FromArgb( 152, 65, 195 ), Block.Violet},//
377+
{RgbColor.FromArgb( 195, 44, 195 ), Block.Magenta},//
378+
{RgbColor.FromArgb( 195, 44, 119 ), Block.Pink},//
379+
{RgbColor.FromArgb( 68, 68, 68 ), Block.Black},//
380+
{RgbColor.FromArgb( 125, 125, 125 ), Block.Gray},//
381+
{RgbColor.FromArgb( 195, 195, 195 ), Block.White},//
382+
{RgbColor.FromArgb( 252, 242, 83 ), Block.Gold},//
383+
{RgbColor.FromArgb( 234, 234, 234 ), Block.Iron},//
384+
{RgbColor.FromArgb( 185, 110, 98 ), Block.Brick},//
385+
{RgbColor.FromArgb( 23, 20, 34 ), Block.Obsidian},//
386+
{RgbColor.FromArgb( 221, 214, 165 ), Block.Sandstone},//
387+
{RgbColor.FromArgb( 191, 116, 136 ), Block.LightPink},//
388+
{RgbColor.FromArgb( 49, 68, 21 ), Block.DarkGreen},//
389+
{RgbColor.FromArgb( 75, 45, 25 ), Block.Brown},//
390+
{RgbColor.FromArgb( 34, 45, 135 ), Block.DarkBlue},//
391+
{RgbColor.FromArgb( 34, 102, 131 ), Block.Turquoise},//
392+
{RgbColor.FromArgb( 216, 219, 237 ), Block.Tile},//
393+
{RgbColor.FromArgb( 232, 228, 220 ), Block.Pillar}//
389394
};
390395
}
391396

@@ -394,68 +399,68 @@ static BlockPalette DefineLight2() {
394399
static BlockPalette DefineDark()
395400
{
396401
return new BlockPalette("Dark", 1) {
397-
{ RgbColor.FromArgb(67, 50, 37), new[] { Block.Dirt } },
398-
{ RgbColor.FromArgb(108, 104, 80), new[] { Block.Sand } },
399-
{ RgbColor.FromArgb(68, 64, 64), new[] { Block.Gravel } },
400-
{ RgbColor.FromArgb(109, 28, 28), new[] { Block.Red } },
401-
{ RgbColor.FromArgb(110, 70, 31), new[] { Block.Orange } },
402-
{ RgbColor.FromArgb(109, 109, 29), new[] { Block.Yellow } },
403-
{ RgbColor.FromArgb(68, 109, 29), new[] { Block.Lime } },
404-
{ RgbColor.FromArgb(28, 109, 31), new[] { Block.Green } },
405-
{ RgbColor.FromArgb(28, 109, 69), new[] { Block.Teal } },
406-
{ RgbColor.FromArgb(28, 109, 108), new[] { Block.Aqua } },
407-
{ RgbColor.FromArgb(53, 81, 109), new[] { Block.Cyan } },
408-
{ RgbColor.FromArgb(61, 61, 109), new[] { Block.Blue } },
409-
{ RgbColor.FromArgb(68, 28, 109), new[] { Block.Indigo } },
410-
{ RgbColor.FromArgb(87, 40, 110), new[] { Block.Violet } },
411-
{ RgbColor.FromArgb(109, 28, 110), new[] { Block.Magenta } },
412-
{ RgbColor.FromArgb(109, 29, 69), new[] { Block.Pink } },
413-
{ RgbColor.FromArgb(41, 41, 41), new[] { Block.Black } },
414-
{ RgbColor.FromArgb(72, 72, 72), new[] { Block.Gray } },
415-
{ RgbColor.FromArgb(109, 109, 109), new[] { Block.White } },
416-
{ RgbColor.FromArgb(15, 14, 20), new[] { Block.Obsidian } }
402+
{ RgbColor.FromArgb(67, 50, 37), Block.Dirt },
403+
{ RgbColor.FromArgb(108, 104, 80), Block.Sand },
404+
{ RgbColor.FromArgb(68, 64, 64), Block.Gravel },
405+
{ RgbColor.FromArgb(109, 28, 28), Block.Red },
406+
{ RgbColor.FromArgb(110, 70, 31), Block.Orange },
407+
{ RgbColor.FromArgb(109, 109, 29), Block.Yellow },
408+
{ RgbColor.FromArgb(68, 109, 29), Block.Lime },
409+
{ RgbColor.FromArgb(28, 109, 31), Block.Green },
410+
{ RgbColor.FromArgb(28, 109, 69), Block.Teal },
411+
{ RgbColor.FromArgb(28, 109, 108), Block.Aqua },
412+
{ RgbColor.FromArgb(53, 81, 109), Block.Cyan },
413+
{ RgbColor.FromArgb(61, 61, 109), Block.Blue },
414+
{ RgbColor.FromArgb(68, 28, 109), Block.Indigo },
415+
{ RgbColor.FromArgb(87, 40, 110), Block.Violet },
416+
{ RgbColor.FromArgb(109, 28, 110), Block.Magenta },
417+
{ RgbColor.FromArgb(109, 29, 69), Block.Pink },
418+
{ RgbColor.FromArgb(41, 41, 41), Block.Black },
419+
{ RgbColor.FromArgb(72, 72, 72), Block.Gray },
420+
{ RgbColor.FromArgb(109, 109, 109), Block.White },
421+
{ RgbColor.FromArgb(15, 14, 20), Block.Obsidian }
417422
};
418423
}
419424

420425
[NotNull]
421426
static BlockPalette DefineDark2() {
422427
return new BlockPalette("Dark2", 1) {
423-
{RgbColor.FromArgb( 74, 74, 74 ), new[] {Block.Stone}},//
424-
{RgbColor.FromArgb( 75, 53, 37 ), new[] {Block.Dirt}},//
425-
{RgbColor.FromArgb( 58, 58, 58 ), new[] {Block.Admincrete}},//
426-
{RgbColor.FromArgb( 94, 77, 47 ), new[] {Block.Wood}},//
427-
{RgbColor.FromArgb( 127, 122, 91 ), new[] {Block.Sand}},//
428-
{RgbColor.FromArgb( 77, 74, 73 ), new[] {Block.Gravel}},//
429-
{RgbColor.FromArgb( 55, 43, 26 ), new[] {Block.Log}},//
430-
{RgbColor.FromArgb( 113, 114, 37 ), new[] {Block.Sponge}},//
431-
{RgbColor.FromArgb( 117, 26, 26 ), new[] {Block.Red}},//
432-
{RgbColor.FromArgb( 117, 71, 26 ), new[] {Block.Orange}},//
433-
{RgbColor.FromArgb( 117, 117, 26 ), new[] {Block.Yellow}},//
434-
{RgbColor.FromArgb( 71, 117, 26 ), new[] {Block.Lime}},//
435-
{RgbColor.FromArgb( 26, 117, 26 ), new[] {Block.Green}},//
436-
{RgbColor.FromArgb( 26, 117, 71 ), new[] {Block.Teal}},//
437-
{RgbColor.FromArgb( 26, 117, 117 ), new[] {Block.Aqua}},//
438-
{RgbColor.FromArgb( 91, 86, 117 ), new[] {Block.Cyan}},//
439-
{RgbColor.FromArgb( 63, 63, 117 ), new[] {Block.Blue}},//
440-
{RgbColor.FromArgb( 71, 26, 117 ), new[] {Block.Indigo}},//
441-
{RgbColor.FromArgb( 91, 39, 117 ), new[] {Block.Violet}},//
442-
{RgbColor.FromArgb( 117, 26, 117 ), new[] {Block.Magenta}},//
443-
{RgbColor.FromArgb( 117, 26, 71 ), new[] {Block.Pink}},//
444-
{RgbColor.FromArgb( 41, 41, 41 ), new[] {Block.Black}},//
445-
{RgbColor.FromArgb( 75, 75, 75 ), new[] {Block.Gray}},//
446-
{RgbColor.FromArgb( 117, 117, 117 ), new[] {Block.White}},//
447-
{RgbColor.FromArgb( 151, 145, 50 ), new[] {Block.Gold}},//
448-
{RgbColor.FromArgb( 140, 140, 140 ), new[] {Block.Iron}},//
449-
{RgbColor.FromArgb( 111, 66, 59 ), new[] {Block.Brick}},//
450-
{RgbColor.FromArgb( 14, 12, 20 ), new[] {Block.Obsidian}},//
451-
{RgbColor.FromArgb( 133, 129, 99 ), new[] {Block.Sandstone}},//
452-
{RgbColor.FromArgb( 115, 67, 82 ), new[] {Block.LightPink}},//
453-
{RgbColor.FromArgb( 29, 41, 13 ), new[] {Block.DarkGreen}},//
454-
{RgbColor.FromArgb( 45, 27, 15 ), new[] {Block.Brown}},//
455-
{RgbColor.FromArgb( 20, 27, 81 ), new[] {Block.DarkBlue}},//
456-
{RgbColor.FromArgb( 20, 61, 79 ), new[] {Block.Turquoise}},//
457-
{RgbColor.FromArgb( 130, 131, 142 ), new[] {Block.Tile}},//
458-
{RgbColor.FromArgb( 139, 137, 132 ), new[] {Block.Pillar}}//
428+
{RgbColor.FromArgb( 74, 74, 74 ), Block.Stone},//
429+
{RgbColor.FromArgb( 75, 53, 37 ), Block.Dirt},//
430+
{RgbColor.FromArgb( 58, 58, 58 ), Block.Admincrete},//
431+
{RgbColor.FromArgb( 94, 77, 47 ), Block.Wood},//
432+
{RgbColor.FromArgb( 127, 122, 91 ), Block.Sand},//
433+
{RgbColor.FromArgb( 77, 74, 73 ), Block.Gravel},//
434+
{RgbColor.FromArgb( 55, 43, 26 ), Block.Log},//
435+
{RgbColor.FromArgb( 113, 114, 37 ), Block.Sponge},//
436+
{RgbColor.FromArgb( 117, 26, 26 ), Block.Red},//
437+
{RgbColor.FromArgb( 117, 71, 26 ), Block.Orange},//
438+
{RgbColor.FromArgb( 117, 117, 26 ), Block.Yellow},//
439+
{RgbColor.FromArgb( 71, 117, 26 ), Block.Lime},//
440+
{RgbColor.FromArgb( 26, 117, 26 ), Block.Green},//
441+
{RgbColor.FromArgb( 26, 117, 71 ), Block.Teal},//
442+
{RgbColor.FromArgb( 26, 117, 117 ), Block.Aqua},//
443+
{RgbColor.FromArgb( 91, 86, 117 ), Block.Cyan},//
444+
{RgbColor.FromArgb( 63, 63, 117 ), Block.Blue},//
445+
{RgbColor.FromArgb( 71, 26, 117 ), Block.Indigo},//
446+
{RgbColor.FromArgb( 91, 39, 117 ), Block.Violet},//
447+
{RgbColor.FromArgb( 117, 26, 117 ), Block.Magenta},//
448+
{RgbColor.FromArgb( 117, 26, 71 ), Block.Pink},//
449+
{RgbColor.FromArgb( 41, 41, 41 ), Block.Black},//
450+
{RgbColor.FromArgb( 75, 75, 75 ), Block.Gray},//
451+
{RgbColor.FromArgb( 117, 117, 117 ), Block.White},//
452+
{RgbColor.FromArgb( 151, 145, 50 ), Block.Gold},//
453+
{RgbColor.FromArgb( 140, 140, 140 ), Block.Iron},//
454+
{RgbColor.FromArgb( 111, 66, 59 ), Block.Brick},//
455+
{RgbColor.FromArgb( 14, 12, 20 ), Block.Obsidian},//
456+
{RgbColor.FromArgb( 133, 129, 99 ), Block.Sandstone},//
457+
{RgbColor.FromArgb( 115, 67, 82 ), Block.LightPink},//
458+
{RgbColor.FromArgb( 29, 41, 13 ), Block.DarkGreen},//
459+
{RgbColor.FromArgb( 45, 27, 15 ), Block.Brown},//
460+
{RgbColor.FromArgb( 20, 27, 81 ), Block.DarkBlue},//
461+
{RgbColor.FromArgb( 20, 61, 79 ), Block.Turquoise},//
462+
{RgbColor.FromArgb( 130, 131, 142 ), Block.Tile},//
463+
{RgbColor.FromArgb( 139, 137, 132 ), Block.Pillar}//
459464
};
460465
}
461466

0 commit comments

Comments
 (0)