add basic chest overrides

This commit is contained in:
gymnast86
2026-04-13 23:51:10 -07:00
parent f478751080
commit bf70de83f1
8 changed files with 95 additions and 30 deletions
+8
View File
@@ -1269,6 +1269,14 @@ int dComIfGd_setShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3
dKy_tevstr_c* param_9, s16 param_10, f32 param_11, TGXTexObj* param_12);
#if TARGET_PC
inline dSv_randomizer_c& dComIfG_getRandomizer() {
return g_dComIfG_gameInfo.info.mRandomizer;
}
inline BOOL dComIfG_isRandomizer() {
return g_dComIfG_gameInfo.info.mRandomizer.mActive;
}
void dComIfGs_setupRandomizerSave();
#endif
+18
View File
@@ -10,6 +10,10 @@
#include "JSystem/JHostIO/JORReflexible.h"
#include "dusk/endian.h"
#if TARGET_PC
#include <unordered_map>
#endif
static const int DEFAULT_SELECT_ITEM_INDEX = 0;
static const int MAX_SELECT_ITEM = 4;
static const int SELECT_ITEM_NUM = 2;
@@ -929,6 +933,17 @@ public:
/* 0x8 */ s8 m_no;
};
#if TARGET_PC
class dSv_randomizer_c {
public:
BOOL mActive{false};
std::unordered_map<std::string, std::unordered_map<u8, u8>> mTreasureChestOverrides{};
std::unordered_map<std::string, std::unordered_map<u8, u8>> mPoeOverrides{};
void clear();
};
#endif
class dSv_info_c {
public:
void init();
@@ -1011,6 +1026,9 @@ public:
#if DEBUG
/* 0xF80 */ flagFile_c mFlagFile;
#endif
#if TARGET_PC
/* 0xF38 */ dSv_randomizer_c mRandomizer;
#endif
}; // Size: 0xF38
class dSv_event_flag_c {