shithub: rgbds

Download patch

ref: 5efc49cb127300c765bde6baf4ce0fa3ac8b51ab
parent: c4361b965c965a1274fc43286c30c8769e8ebdd4
author: ISSOtm <eldredhabert0@gmail.com>
date: Wed Mar 9 16:43:36 EST 2022

Change `UseTab` to `ForIndentation`

This fixes many whitespace issues

--- a/.clang-format
+++ b/.clang-format
@@ -96,4 +96,4 @@
 Standard: c++17
 TabWidth: 4
 UseCRLF: false
-UseTab: AlignWithSpaces
+UseTab: ForIndentation
--- a/include/gfx/pal_packing.hpp
+++ b/include/gfx/pal_packing.hpp
@@ -25,7 +25,7 @@
  * Returns which palette each proto-palette maps to, and how many palettes are necessary
  */
 std::tuple<DefaultInitVec<size_t>, size_t>
-	overloadAndRemove(std::vector<ProtoPalette> const &protoPalettes);
+    overloadAndRemove(std::vector<ProtoPalette> const &protoPalettes);
 
 }
 
--- a/include/gfx/rgba.hpp
+++ b/include/gfx/rgba.hpp
@@ -22,7 +22,7 @@
 	 * Constructs the color from a "packed" RGBA representation (0xRRGGBBAA)
 	 */
 	explicit Rgba(uint32_t rgba = 0)
-		: red(rgba >> 24), green(rgba >> 16), blue(rgba >> 8), alpha(rgba) {}
+	    : red(rgba >> 24), green(rgba >> 16), blue(rgba >> 8), alpha(rgba) {}
 
 	/**
 	 * Returns this RGBA as a 32-bit number that can be printed in hex (`%08x`) to yield its CSS
--- a/src/gfx/convert.cpp
+++ b/src/gfx/convert.cpp
@@ -52,8 +52,8 @@
 	size_t size() const {
 		return std::count_if(_colors.begin(), _colors.end(),
 		                     [](decltype(_colors)::value_type const &slot) {
-								 return slot.has_value() && !slot->isTransparent();
-							 });
+			                     return slot.has_value() && !slot->isTransparent();
+		                     });
 	}
 	decltype(_colors) const &raw() const { return _colors; }
 
@@ -138,8 +138,8 @@
 			uint8_t mask = 1 << color->grayIndex();
 			if (bins & mask) { // Two in the same bin!
 				options.verbosePrint(
-					"Color #%08x conflicts with another one, not using grayscale sorting\n",
-					color->toCSS());
+				    "Color #%08x conflicts with another one, not using grayscale sorting\n",
+				    color->toCSS());
 				return false;
 			}
 			bins |= mask;
@@ -348,7 +348,7 @@
 
 	public:
 		TilesVisitor(Png const &png, bool columnMajor, uint32_t width, uint32_t height)
-			: _png(png), _columnMajor(columnMajor), _width(width), _height(height) {}
+		    : _png(png), _columnMajor(columnMajor), _width(width), _height(height) {}
 
 		class Tile {
 			Png const &_png;
@@ -435,7 +435,7 @@
 };
 
 static std::tuple<DefaultInitVec<size_t>, std::vector<Palette>>
-	generatePalettes(std::vector<ProtoPalette> const &protoPalettes, Png const &png) {
+    generatePalettes(std::vector<ProtoPalette> const &protoPalettes, Png const &png) {
 	// Run a "pagination" problem solver
 	// TODO: allow picking one of several solvers?
 	auto [mappings, nbPalettes] = packing::overloadAndRemove(protoPalettes);
@@ -471,7 +471,7 @@
 }
 
 static std::tuple<DefaultInitVec<size_t>, std::vector<Palette>>
-	makePalsAsSpecified(std::vector<ProtoPalette> const &protoPalettes, Png const &png) {
+    makePalsAsSpecified(std::vector<ProtoPalette> const &protoPalettes, Png const &png) {
 	if (options.palSpecType == Options::EMBEDDED) {
 		// Generate a palette spec from the first few colors in the embedded palette
 		auto [embPalSize, embPalRGB, embPalAlpha] = png.getEmbeddedPal();
@@ -876,8 +876,8 @@
 	// Sort the proto-palettes by size, which improves the packing algorithm's efficiency
 	// We sort after all insertions to avoid moving items: https://stackoverflow.com/a/2710332
 	std::sort(
-		protoPalettes.begin(), protoPalettes.end(),
-		[](ProtoPalette const &lhs, ProtoPalette const &rhs) { return lhs.size() < rhs.size(); });
+	    protoPalettes.begin(), protoPalettes.end(),
+	    [](ProtoPalette const &lhs, ProtoPalette const &rhs) { return lhs.size() < rhs.size(); });
 
 	auto [mappings, palettes] = options.palSpecType == Options::NO_SPEC
 	                                ? generatePalettes(protoPalettes, png)
--- a/src/gfx/main.cpp
+++ b/src/gfx/main.cpp
@@ -93,31 +93,31 @@
  * over short opt matching
  */
 static struct option const longopts[] = {
-	{"output-attr-map", no_argument,       NULL, 'A'},
+    {"output-attr-map", no_argument,       NULL, 'A'},
     {"attr-map",        required_argument, NULL, 'a'},
-	{"base-tiles",      required_argument, NULL, 'b'},
+    {"base-tiles",      required_argument, NULL, 'b'},
     {"color-curve",     no_argument,       NULL, 'C'},
-	{"colors",          required_argument, NULL, 'c'},
+    {"colors",          required_argument, NULL, 'c'},
     {"debug",           no_argument,       NULL, 'D'}, // Ignored
-	{"depth",           required_argument, NULL, 'd'},
+    {"depth",           required_argument, NULL, 'd'},
     {"fix",             no_argument,       NULL, 'f'},
-	{"fix-and-save",    no_argument,       NULL, 'F'}, // Deprecated
-	{"horizontal",      no_argument,       NULL, 'h'}, // Deprecated
-	{"slice",           required_argument, NULL, 'L'},
+    {"fix-and-save",    no_argument,       NULL, 'F'}, // Deprecated
+    {"horizontal",      no_argument,       NULL, 'h'}, // Deprecated
+    {"slice",           required_argument, NULL, 'L'},
     {"mirror-tiles",    no_argument,       NULL, 'm'},
-	{"nb-tiles",        required_argument, NULL, 'N'},
+    {"nb-tiles",        required_argument, NULL, 'N'},
     {"nb-palettes",     required_argument, NULL, 'n'},
-	{"output",          required_argument, NULL, 'o'},
+    {"output",          required_argument, NULL, 'o'},
     {"output-palette",  no_argument,       NULL, 'P'},
-	{"palette",         required_argument, NULL, 'p'},
+    {"palette",         required_argument, NULL, 'p'},
     {"output-tilemap",  no_argument,       NULL, 'T'},
-	{"tilemap",         required_argument, NULL, 't'},
+    {"tilemap",         required_argument, NULL, 't'},
     {"unit-size",       required_argument, NULL, 'U'},
-	{"unique-tiles",    no_argument,       NULL, 'u'},
+    {"unique-tiles",    no_argument,       NULL, 'u'},
     {"version",         no_argument,       NULL, 'V'},
-	{"verbose",         no_argument,       NULL, 'v'},
+    {"verbose",         no_argument,       NULL, 'v'},
     {"trim-end",        required_argument, NULL, 'x'},
-	{"columns",         no_argument,       NULL, 'Z'},
+    {"columns",         no_argument,       NULL, 'Z'},
     {NULL,              no_argument,       NULL, 0  }
 };
 
@@ -293,9 +293,9 @@
 			constexpr std::string_view chars =
 // Both must start with a dot!
 #if defined(_MSC_VER) || defined(__MINGW32__)
-				"./\\"sv;
+			    "./\\"sv;
 #else
-				"./"sv;
+			    "./"sv;
 #endif
 			size_t i = options.input.find_last_of(chars);
 			if (i != options.input.npos && options.input[i] == '.') {
--- a/src/gfx/pal_packing.cpp
+++ b/src/gfx/pal_packing.cpp
@@ -71,7 +71,7 @@
 public:
 	template<typename... Ts>
 	AssignedProtos(std::vector<ProtoPalette> const &protoPals, Ts &&...elems)
-		: _assigned{std::forward<Ts>(elems)...}, _protoPals{&protoPals} {}
+	    : _assigned{std::forward<Ts>(elems)...}, _protoPals{&protoPals} {}
 
 private:
 	template<typename Inner, template<typename> typename Constness>
@@ -142,8 +142,8 @@
 	template<typename... Ts>
 	void assign(Ts &&...args) {
 		auto freeSlot = std::find_if_not(
-			_assigned.begin(), _assigned.end(),
-			[](std::optional<ProtoPalAttrs> const &slot) { return slot.has_value(); });
+		    _assigned.begin(), _assigned.end(),
+		    [](std::optional<ProtoPalAttrs> const &slot) { return slot.has_value(); });
 
 		if (freeSlot == _assigned.end()) { // We are full, use a new slot
 			_assigned.emplace_back(std::forward<Ts>(args)...);
@@ -158,8 +158,8 @@
 
 	bool empty() const {
 		return std::find_if_not(
-				   _assigned.begin(), _assigned.end(),
-				   [](std::optional<ProtoPalAttrs> const &slot) { return slot.has_value(); })
+		           _assigned.begin(), _assigned.end(),
+		           [](std::optional<ProtoPalAttrs> const &slot) { return slot.has_value(); })
 		       == _assigned.end();
 	}
 	size_t nbProtoPals() const { return std::distance(begin(), end()); }
@@ -210,18 +210,18 @@
 	double relSizeOf(ProtoPalette const &protoPal) const {
 		// NOTE: this function must not call `uniqueColors`, or one of its callers will break
 		return std::transform_reduce(
-			protoPal.begin(), protoPal.end(), 0.0, std::plus<>(), [this](uint16_t color) {
-				// NOTE: The paper and the associated code disagree on this: the code has
+		    protoPal.begin(), protoPal.end(), 0.0, std::plus<>(), [this](uint16_t color) {
+			    // NOTE: The paper and the associated code disagree on this: the code has
 			    // this `1 +`, whereas the paper does not; its lack causes a division by 0
 			    // if the symbol is not found anywhere, so I'm assuming the paper is wrong.
-				return 1.
+			    return 1.
 			           / (1
 			              + std::count_if(
-							  begin(), end(), [this, &color](ProtoPalAttrs const &attrs) {
-								  ProtoPalette const &pal = (*_protoPals)[attrs.palIndex];
-								  return std::find(pal.begin(), pal.end(), color) != pal.end();
-							  }));
-			});
+			                  begin(), end(), [this, &color](ProtoPalAttrs const &attrs) {
+				                  ProtoPalette const &pal = (*_protoPals)[attrs.palIndex];
+				                  return std::find(pal.begin(), pal.end(), color) != pal.end();
+			                  }));
+		    });
 	}
 
 	/**
@@ -342,7 +342,7 @@
 }
 
 std::tuple<DefaultInitVec<size_t>, size_t>
-	overloadAndRemove(std::vector<ProtoPalette> const &protoPalettes) {
+    overloadAndRemove(std::vector<ProtoPalette> const &protoPalettes) {
 	options.verbosePrint("Paginating palettes using \"overload-and-remove\" strategy...\n");
 
 	struct Iota {
@@ -414,12 +414,12 @@
 					return pal.size() / bestPal.relSizeOf(pal);
 				};
 				auto [minEfficiencyIter, maxEfficiencyIter] =
-					std::minmax_element(bestPal.begin(), bestPal.end(),
+				    std::minmax_element(bestPal.begin(), bestPal.end(),
 				                        [&efficiency, &protoPalettes](ProtoPalAttrs const &lhs,
 				                                                      ProtoPalAttrs const &rhs) {
-											return efficiency(protoPalettes[lhs.palIndex])
+					                        return efficiency(protoPalettes[lhs.palIndex])
 					                               < efficiency(protoPalettes[rhs.palIndex]);
-										});
+				                        });
 
 				// All efficiencies are identical iff min equals max
 				// TODO: maybe not ideal to re-compute these two?
@@ -452,7 +452,7 @@
 		ProtoPalAttrs const &attrs = queue.front();
 		ProtoPalette const &protoPal = protoPalettes[attrs.palIndex];
 		auto iter =
-			std::find_if(assignments.begin(), assignments.end(),
+		    std::find_if(assignments.begin(), assignments.end(),
 		                 [&protoPal](AssignedProtos const &pal) { return pal.canFit(protoPal); });
 		if (iter == assignments.end()) { // No such page, create a new one
 			options.verbosePrint("Adding new palette for overflow\n");
--- a/src/gfx/pal_sorting.cpp
+++ b/src/gfx/pal_sorting.cpp
@@ -36,8 +36,8 @@
 
 		// Check that the palette only uses those colors
 		if (std::all_of(palette.begin(), palette.end(), [&colors](uint16_t color) {
-				return std::find(colors.begin(), colors.end(), color) != colors.end();
-			})) {
+			    return std::find(colors.begin(), colors.end(), color) != colors.end();
+		    })) {
 			if (palette.size() != options.maxPalSize()) {
 				warning("Unused color in PNG embedded palette was re-added; please use `-c "
 				        "embedded` to get this in future versions");
--- a/src/gfx/rgba.cpp
+++ b/src/gfx/rgba.cpp
@@ -12,22 +12,22 @@
  * with ties resolved by comparing the difference of the squares.
  */
 static std::array<uint8_t, 256> reverse_curve{
-	0,  0,  1,  1,  2,  2,  3,  3,  3,  3,  4,  4,  4,  4,  4,  4, // These
-	5,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  6,  6,  7,  7, // comments
-	7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8, // prevent
-	9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  10, 10, 10, 10, 10, 10, // clang-format
-	10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, // from
-	12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, // reflowing
-	13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, // these
-	14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, // 16
-	16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, // 16-iterm
-	17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, // lines,
-	18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // which,
-	19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, // in
-	21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, // my
-	22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, // opinion,
-	24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, // help
-	26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 30, 30, 31, // visualization!
+    0,  0,  1,  1,  2,  2,  3,  3,  3,  3,  4,  4,  4,  4,  4,  4, // These
+    5,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  6,  6,  7,  7, // comments
+    7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8, // prevent
+    9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  10, 10, 10, 10, 10, 10, // clang-format
+    10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, // from
+    12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, // reflowing
+    13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, // these
+    14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, // 16
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, // 16-iterm
+    17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, // lines,
+    18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, // which,
+    19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, // in
+    21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, // my
+    22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, // opinion,
+    24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, // help
+    26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 30, 30, 31, // visualization!
 };
 
 uint16_t Rgba::cgbColor() const {