Decompile 2 functions in Source/Contents/NavigationSource.cpp, Source/Contents/NavigationManager.h

Batch #1395 by Yommy: 2 byte-identical, 0 confirmed by peer review.

- fn_19597 NavigationManager::GetCurrentTargetType: byte-identical
- fn_19635 NavigationManager::SaveCurrentTarget: byte-identical

Merged automatically: every function is byte-identical to the original.
Adds to the build: Source/Contents/NavigationSource.cpp
This commit is contained in:
ragnarok-clanker 2026-10-28 12:13:49 +00:00
commit 9d3e6d1668
3 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,33 @@
#ifndef RAGNAROK_SOURCE_CONTENTS_NAVIGATIONMANAGER_H
#define RAGNAROK_SOURCE_CONTENTS_NAVIGATIONMANAGER_H
#include <cstddef>
#include <string>
class NavigationObject;
struct NavigationTarget {
/* 0000 */ int type;
/* 0004 */ NavigationObject* object;
/* 0008 */ int x;
/* 000C */ int y;
/* 0010 */ std::string name;
};
class NavigationManager {
public:
NavigationTarget GetCurrentTarget() const;
NavigationTarget GetSavedTarget() const;
int GetCurrentTargetType() const;
int SaveCurrentTarget();
/* 0000 */ unsigned char unknown_0000[0x10FC];
/* 10FC */ NavigationTarget currentTarget;
/* 1124 */ NavigationTarget savedTarget;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(NavigationManager, savedTarget) == 0x1124);
#endif
#endif

View file

@ -0,0 +1,25 @@
#include "Contents/NavigationManager.h"
// OFFSET: 0x00B96980
// OFFSET: 0x00B96AE0
// OFFSET: 0x00B971D0
// FUNCTION: fn_19597
int NavigationManager::GetCurrentTargetType() const {
return this->currentTarget.type;
}
// OFFSET: 0x00BA0AE0
// FUNCTION: fn_19635
int NavigationManager::SaveCurrentTarget() {
const int type = this->currentTarget.type;
if (type == 6) {
return -92;
}
if ((type != 1 && type != 2 && type != 3 && type != 0) || !this->currentTarget.object) {
return -97;
}
this->savedTarget = this->currentTarget;
return 0;
}