Decompile fn_00486 (JsonCppLoader::sub_4F3C70)

Batch #8381 by gordaoprogramas: 0 byte-identical, 1 confirmed by peer review.

- fn_00486 JsonCppLoader::sub_4F3C70: logic confirmed by peer review

Peer-reviewed-by: eAthena, Romain, System4z
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 17:23:24 +00:00
commit acd76a3373
2 changed files with 25 additions and 0 deletions

View file

@ -4,6 +4,29 @@
#include <cstdio>
#include <cstring>
// OFFSET: 0x004F3C70
// FUNCTION: fn_00486
bool JsonCppLoader::sub_4F3C70(std::vector<unsigned char>& buffer, bool bson) {
if (buffer.empty()) {
this->Fail("error : JsonCppLoader::Load failed (reason : 비어있는 버퍼가 전달되었습니다.)");
return false;
}
bool parsed;
if (bson) {
parsed = this->sub_4F3DF0(buffer);
} else {
parsed = this->sub_4F4040(buffer);
}
if (parsed) {
this->loaded = true;
return true;
}
return false;
}
// OFFSET: 0x004F4180
// FUNCTION: fn_00491
void JsonCppLoader::Fail(const char* format, ...) {

View file

@ -180,6 +180,8 @@ public:
bool GetIntVectorValue(const JsonValue& node, const std::string& key, std::vector<int>* out);
bool GetBoolValue(const JsonValue& node, const std::string& key, bool* out);
bool sub_4F3C70(std::vector<unsigned char>& buffer, bool bson);
bool sub_4F3DF0(std::vector<unsigned char>& buffer);
bool sub_4F4040(std::vector<unsigned char>& buffer);
bool sub_50C2A0(std::map<std::string, EZ2STREffectRecord>* out);
bool sub_50AE30(std::map<int, ReputeGroupRecord>* out);
bool sub_50B830(std::map<int, ReputeInfoRecord>* out);