Bläddra i källkod

Merge pull request #31063 from rzllmr/fix-tilemap-order

Fix row-column-swap in TileMap palette
Rémi Verschelde 6 år sedan
förälder
incheckning
7d5ad99cde
1 ändrade filer med 7 tillägg och 1 borttagningar
  1. 7 1
      editor/plugins/tile_map_editor_plugin.cpp

+ 7 - 1
editor/plugins/tile_map_editor_plugin.cpp

@@ -521,7 +521,13 @@ void TileMapEditor::_update_palette() {
 			for (const Map<Vector2, uint32_t>::Element *E = tiles2.front(); E; E = E->next()) {
 				entries2.push_back(E->key());
 			}
-			entries2.sort();
+			// Sort tiles in row-major order
+			struct SwapComparator {
+				_FORCE_INLINE_ bool operator()(const Vector2 &v_l, const Vector2 &v_r) const {
+					return v_l.y != v_r.y ? v_l.y < v_r.y : v_l.x < v_r.x;
+				}
+			};
+			entries2.sort_custom<SwapComparator>();
 
 			Ref<Texture> tex = tileset->tile_get_texture(sel_tile);