Randomized Ice trap models (#1648)

This commit is contained in:
Christopher Leggett
2022-10-03 19:15:36 -04:00
committed by GitHub
parent db2e6164cb
commit 0720c37656
12 changed files with 156 additions and 79 deletions
+19 -3
View File
@@ -58,7 +58,13 @@ void SaveManager::LoadRandomizerVersion1() {
if(!CVar_GetS32("gRandomizer", 0)) return;
for (int i = 0; i < ARRAY_COUNT(gSaveContext.itemLocations); i++) {
SaveManager::Instance->LoadData("get" + std::to_string(i), gSaveContext.itemLocations[i].get);
SaveManager::Instance->LoadStruct("get" + std::to_string(i), [&]() {
SaveManager::Instance->LoadData("rgID", gSaveContext.itemLocations[i].get.rgID);
SaveManager::Instance->LoadData("fakeRgID", gSaveContext.itemLocations[i].get.fakeRgID);
std::string trickName;
SaveManager::Instance->LoadData("trickName", trickName);
strncpy(gSaveContext.itemLocations[i].get.trickName, trickName.c_str(), MAX_TRICK_NAME_SIZE);
});
SaveManager::Instance->LoadData("check" + std::to_string(i), gSaveContext.itemLocations[i].check);
}
@@ -124,7 +130,13 @@ void SaveManager::LoadRandomizerVersion2() {
SaveManager::Instance->LoadArray("itemLocations", RC_MAX, [&](size_t i) {
gSaveContext.itemLocations[i].check = RandomizerCheck(i);
SaveManager::Instance->LoadData("", gSaveContext.itemLocations[i].get);
SaveManager::Instance->LoadStruct("", [&]() {
SaveManager::Instance->LoadData("rgID", gSaveContext.itemLocations[i].get.rgID);
SaveManager::Instance->LoadData("fakeRgID", gSaveContext.itemLocations[i].get.fakeRgID);
std::string trickName;
SaveManager::Instance->LoadData("trickName", trickName);
strncpy(gSaveContext.itemLocations[i].get.trickName, trickName.c_str(), MAX_TRICK_NAME_SIZE);
});
});
SaveManager::Instance->LoadArray("seed", ARRAY_COUNT(gSaveContext.seedIcons), [&](size_t i) {
@@ -188,7 +200,11 @@ void SaveManager::SaveRandomizer() {
if(!gSaveContext.n64ddFlag) return;
SaveManager::Instance->SaveArray("itemLocations", RC_MAX, [&](size_t i) {
SaveManager::Instance->SaveData("", gSaveContext.itemLocations[i].get);
SaveManager::Instance->SaveStruct("", [&]() {
SaveManager::Instance->SaveData("rgID", gSaveContext.itemLocations[i].get.rgID);
SaveManager::Instance->SaveData("fakeRgID", gSaveContext.itemLocations[i].get.fakeRgID);
SaveManager::Instance->SaveData("trickName", gSaveContext.itemLocations[i].get.trickName);
});
});
SaveManager::Instance->SaveArray("seed", ARRAY_COUNT(gSaveContext.seedIcons), [&](size_t i) {