From c2dec6d5e39b0d5b36b917fb1617baefcdf42cfd Mon Sep 17 00:00:00 2001 From: pifopi Date: Wed, 19 Feb 2025 01:24:40 +0100 Subject: [PATCH] Take reverse option into consideration in home sorter --- .../Programs/PokemonHome_BoxSorting.cpp | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorting.cpp b/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorting.cpp index 49cfca06fe..e305fe7bb5 100644 --- a/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorting.cpp +++ b/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorting.cpp @@ -197,33 +197,62 @@ bool operator<(const std::optional& lhs, const std::optional& // NOTE edit when adding new struct members case BoxSortingSortType::NationalDexNo: if (lhs->national_dex_number != rhs->national_dex_number){ - return lhs->national_dex_number < rhs->national_dex_number; + if (preference.reverse){ + return lhs->national_dex_number > rhs->national_dex_number; + }else{ + return lhs->national_dex_number < rhs->national_dex_number; + } } break; case BoxSortingSortType::Shiny: if (lhs->shiny != rhs->shiny){ - return lhs->shiny; + if (preference.reverse){ + return rhs->shiny; + }else{ + return lhs->shiny; + } } break; case BoxSortingSortType::Gigantamax: if (lhs->gmax != rhs->gmax){ - return lhs->gmax; + if (preference.reverse){ + return rhs->gmax; + }else{ + return lhs->gmax; + } } break; case BoxSortingSortType::Ball_Slug: if (lhs->ball_slug < rhs->ball_slug){ - return true; + if (preference.reverse){ + return false; + }else{ + return true; + } } if (lhs->ball_slug > rhs->ball_slug){ - return false; + if (preference.reverse){ + return true; + }else{ + return false; + } } break; case BoxSortingSortType::Gender: if (lhs->gender < rhs->gender){ - return true; + if (preference.reverse){ + return false; + }else{ + return true; + } } if (lhs->gender > rhs->gender){ - return false; + if (preference.reverse){ + return true; + } + else{ + return false; + } } break; }