Skip to content

Commit 0120bb7

Browse files
committed
Special case to handle unreadable Clefairy in Korean for AutoDA.
1 parent 067eca0 commit 0120bb7

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

SerialPrograms/Source/PokemonSwSh/MaxLair/AI/PokemonSwSh_MaxLair_AI_SelectMove.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ std::pair<uint8_t, bool> select_move(
134134
);
135135

136136
if (state.opponent.empty()){
137-
logger.log("Don't know the opponent is. Picking a random move...", COLOR_RED);
137+
logger.log("Don't know who the opponent is. Picking a random move...", COLOR_RED);
138138
return {(uint8_t)random(0, 3), false};
139139
}
140140

SerialPrograms/Source/PokemonSwSh/MaxLair/Inference/PokemonSwSh_MaxLair_Detect_BattleMenu.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,10 +320,23 @@ std::set<std::string> BattleMenuReader::read_opponent_in_summary(Logger& logger,
320320
auto iter = KNOWN_BAD_SLUGS.find(slug);
321321
if (iter != KNOWN_BAD_SLUGS.end()){
322322
error = false;
323-
logger.log("Known case that cannot be disambiguated. Skipping error report.", COLOR_RED);
323+
logger.log("Known case that cannot be disambiguated: (" + slug + ") Skipping error report.", COLOR_RED);
324324
break;
325325
}
326326
}
327+
328+
// Special case: Korean Clefairy.
329+
// Reason: Korean OCR cannot read the character: 삐
330+
if (m_language == Language::Korean &&
331+
slugs.empty() &&
332+
type0 == PokemonType::FAIRY &&
333+
type1 == PokemonType::NONE
334+
){
335+
logger.log("Known case that cannot be read: Korean Clefairy", COLOR_RED);
336+
return {"clefairy"};
337+
}
338+
339+
// At this point we're out of options.
327340
if (error){
328341
dump_image(logger, MODULE_NAME, "DisambiguateBoss", screen);
329342
}

0 commit comments

Comments
 (0)