Decompile 2 functions in Source/Contents/Items/NeoPackageItemMgr.cpp, Source/Contents/Items/NeoPackageItemMgr.h
Batch #5060 by Yommy: 2 byte-identical, 0 confirmed by peer review. - fn_06519 NEO_PACKAGEITEM::CNeoPackageItemMgr::Init: byte-identical - fn_06533 NEO_PACKAGEITEM::CPaidPackageItemMgr::Init: byte-identical Merged automatically: every function is byte-identical to the original. Adds to the build: Source/Contents/Items/NeoPackageItemMgr.cpp
This commit is contained in:
parent
3c1d065b80
commit
a2bf9f70eb
3 changed files with 137 additions and 0 deletions
47
Source/Contents/Items/NeoPackageItemMgr.cpp
Normal file
47
Source/Contents/Items/NeoPackageItemMgr.cpp
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
#include "Contents/Items/NeoPackageItemMgr.h"
|
||||
#include "Contents/Items/ItemInfoMgr.h"
|
||||
#include "Contents/Items/SelectPackageItemMgr.h"
|
||||
#include "Script/LuaInstance.h"
|
||||
extern "C" {
|
||||
#include <lua.h>
|
||||
}
|
||||
#include <cstdlib>
|
||||
#include <windows.h>
|
||||
|
||||
// GLOBAL: gl_24959
|
||||
template <>
|
||||
NEO_PACKAGEITEM::CNeoPackageItemMgr* Singleton<NEO_PACKAGEITEM::CNeoPackageItemMgr>::s_instance = nullptr;
|
||||
|
||||
// GLOBAL: gl_24960
|
||||
template <>
|
||||
NEO_PACKAGEITEM::CPaidPackageItemMgr* Singleton<NEO_PACKAGEITEM::CPaidPackageItemMgr>::s_instance = nullptr;
|
||||
|
||||
namespace NEO_PACKAGEITEM {
|
||||
|
||||
// OFFSET: 0x006D1600
|
||||
|
||||
// OFFSET: 0x006D1680
|
||||
// FUNCTION: fn_06519
|
||||
void CNeoPackageItemMgr::Init() {
|
||||
}
|
||||
|
||||
// OFFSET: 0x006D2140
|
||||
|
||||
// OFFSET: 0x006D24B0
|
||||
|
||||
// OFFSET: 0x006D2CB0
|
||||
|
||||
// OFFSET: 0x006D2D30
|
||||
// FUNCTION: fn_06533
|
||||
void CPaidPackageItemMgr::Init() {
|
||||
}
|
||||
|
||||
// OFFSET: 0x006D2E30
|
||||
|
||||
// OFFSET: 0x006D3110
|
||||
|
||||
// OFFSET: 0x006D3370
|
||||
|
||||
// OFFSET: 0x006D3440
|
||||
|
||||
}
|
||||
89
Source/Contents/Items/NeoPackageItemMgr.h
Normal file
89
Source/Contents/Items/NeoPackageItemMgr.h
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
#ifndef RAGNAROK_SOURCE_CONTENTS_ITEMS_NEOPACKAGEITEMMGR_H
|
||||
#define RAGNAROK_SOURCE_CONTENTS_ITEMS_NEOPACKAGEITEMMGR_H
|
||||
|
||||
#include "Utility/Singleton.h"
|
||||
|
||||
#include <cstddef>
|
||||
#include <list>
|
||||
#include <map>
|
||||
#include <new>
|
||||
#include <optional>
|
||||
#include <set>
|
||||
#include <string>
|
||||
|
||||
struct lua_State;
|
||||
|
||||
namespace NEO_PACKAGEITEM {
|
||||
|
||||
struct PackageEntry {
|
||||
/* 0000 */ int itemId;
|
||||
/* 0004 */ std::string name;
|
||||
/* 001C */ int probability;
|
||||
};
|
||||
|
||||
struct PackageGroup {
|
||||
/* 0000 */ int totalProbability;
|
||||
/* 0004 */ std::list<PackageEntry> items;
|
||||
};
|
||||
|
||||
class CNeoPackageItemMgr : public Singleton<CNeoPackageItemMgr> {
|
||||
public:
|
||||
CNeoPackageItemMgr();
|
||||
|
||||
void Init();
|
||||
std::optional<std::map<int, PackageGroup>*> FindPackage(int itemId);
|
||||
bool HasPackage(int itemId);
|
||||
|
||||
/* 0004 */ std::map<int, std::map<int, PackageGroup>> m_packages;
|
||||
};
|
||||
|
||||
class CPaidPackageItemMgr : public Singleton<CPaidPackageItemMgr> {
|
||||
public:
|
||||
static int LuaAddItemSold(lua_State* L);
|
||||
static bool LoadScript();
|
||||
|
||||
CPaidPackageItemMgr();
|
||||
|
||||
void Init();
|
||||
void AddItem(int itemId);
|
||||
bool IsPaidItem(int itemId);
|
||||
|
||||
/* 0004 */ std::set<int> m_items;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
static_assert(sizeof(PackageEntry) == 0x20);
|
||||
static_assert(sizeof(PackageGroup) == 0xC);
|
||||
static_assert(sizeof(CNeoPackageItemMgr) == 0xC);
|
||||
static_assert(sizeof(CPaidPackageItemMgr) == 0xC);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
template <>
|
||||
NEO_PACKAGEITEM::CNeoPackageItemMgr* Singleton<NEO_PACKAGEITEM::CNeoPackageItemMgr>::s_instance;
|
||||
|
||||
template <>
|
||||
NEO_PACKAGEITEM::CPaidPackageItemMgr* Singleton<NEO_PACKAGEITEM::CPaidPackageItemMgr>::s_instance;
|
||||
|
||||
// INLINED
|
||||
template <>
|
||||
inline NEO_PACKAGEITEM::CNeoPackageItemMgr* Singleton<NEO_PACKAGEITEM::CNeoPackageItemMgr>::GetInstance() {
|
||||
if (!s_instance) {
|
||||
s_instance = new (std::nothrow) NEO_PACKAGEITEM::CNeoPackageItemMgr;
|
||||
}
|
||||
|
||||
return s_instance;
|
||||
}
|
||||
|
||||
// INLINED
|
||||
template <>
|
||||
inline NEO_PACKAGEITEM::CPaidPackageItemMgr* Singleton<NEO_PACKAGEITEM::CPaidPackageItemMgr>::GetInstance() {
|
||||
if (!s_instance) {
|
||||
s_instance = new (std::nothrow) NEO_PACKAGEITEM::CPaidPackageItemMgr;
|
||||
}
|
||||
|
||||
return s_instance;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -488,6 +488,7 @@
|
|||
"Source/Contents/Items/ItemLink.cpp": 4,
|
||||
"Source/Contents/Items/ItemNaming.cpp": 4,
|
||||
"Source/Contents/Items/ItemResources.cpp": 4,
|
||||
"Source/Contents/Items/NeoPackageItemMgr.cpp": 4,
|
||||
"Source/Contents/Items/RuneSystem.cpp": 4,
|
||||
"Source/Contents/Items/SelectPackageItemMgr.cpp": 4,
|
||||
"Source/Contents/JobCodeForItem.cpp": 4,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue