diff options
Diffstat (limited to 'editor/editor.cpp')
-rw-r--r-- | editor/editor.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/editor/editor.cpp b/editor/editor.cpp index b3e3aec6..0cd15d17 100644 --- a/editor/editor.cpp +++ b/editor/editor.cpp @@ -66,7 +66,7 @@ void tile_editor::select_tile(const std::shared_ptr<tile_atlas>& atlas, std::siz fm_assert(atlas); clear_selection(); _selection_mode = sel_tile; - _selected_tile = { atlas, variant % atlas->num_tiles() }; + _selected_tile = { atlas, decltype(tile_image::variant)(variant % atlas->num_tiles()) }; } void tile_editor::select_tile_permutation(const std::shared_ptr<tile_atlas>& atlas) @@ -118,12 +118,13 @@ void fisher_yates(T begin, T end) tile_image tile_editor::get_selected_perm() { auto& [atlas, vec] = _permutation; - const std::size_t N = atlas->num_tiles(); + using variant_t = decltype(tile_image::variant); + const auto N = (variant_t)atlas->num_tiles(); if (N == 0) return {}; if (vec.empty()) { - for (std::size_t i = 0; i < N; i++) + for (variant_t i = 0; i < N; i++) vec.push_back(i); fisher_yates(vec.begin(), vec.end()); } |