Decompile fn_19570 (CNavigationManager::CheckArrival)

Batch #7464 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_19570 CNavigationManager::CheckArrival: logic confirmed by peer review

Peer-reviewed-by: secret, meitogi, Toshiro
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
ragnarok-clanker 2026-10-31 09:56:31 +00:00
commit 50b431a92b
2 changed files with 19 additions and 1 deletions

View file

@ -2,7 +2,7 @@
#include "Client/Session.h"
#include "Resource/ResourceMgr.h"
#include "Utility/Text/FormatString.h"
#include "UI/Window/UINavigationWnd.h"
#include <cstdint>
#include <cstdio>
#include <cstdlib>
@ -805,3 +805,20 @@ void CNavigationManager::ResetCurrentTarget() {
this->LoadTargetPreview();
this->ClearRouteNodes();
}
// OFFSET: 0x00B94E90
// FUNCTION: fn_19570
void CNavigationManager::CheckArrival(int cellX, int cellY) {
if (this->unknown_1258 == 2) {
if (g_navigationWindow != nullptr) {
g_navigationWindow->Invalidate();
}
if (this->unknown_115C) {
NaviCell cell;
this->data.GetCell(&cell);
if (std::abs(cell.x - cellX) <= 5 && std::abs(cell.y - cellY) <= 5) {
this->CancelRoute();
}
}
}
}