mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-02-23 06:02:08 -05:00
Uses the hash instead of seed for spoilerfile name and icons.
This commit is contained in:
parent
1763eda169
commit
e3d174cc9b
@ -542,7 +542,7 @@ std::string GenerateRandomizer(std::unordered_map<RandomizerSettingKey, uint8_t>
|
|||||||
Settings::Keysanity.RestoreDelayedOption();
|
Settings::Keysanity.RestoreDelayedOption();
|
||||||
}
|
}
|
||||||
|
|
||||||
return "./Randomizer/" + Settings::seed + ".json";
|
return "./Randomizer/" + Settings::hash + ".json";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GetInput(const char* hintText) {
|
std::string GetInput(const char* hintText) {
|
||||||
|
@ -39,6 +39,7 @@ int Playthrough_Init(uint32_t seed, std::unordered_map<RandomizerSettingKey, uin
|
|||||||
}
|
}
|
||||||
unsigned int finalHash = std::hash<std::string>{}(Settings::seed + settingsStr);
|
unsigned int finalHash = std::hash<std::string>{}(Settings::seed + settingsStr);
|
||||||
Random_Init(finalHash);
|
Random_Init(finalHash);
|
||||||
|
Settings::hash = std::to_string(finalHash);
|
||||||
|
|
||||||
Logic::UpdateHelpers();
|
Logic::UpdateHelpers();
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ using namespace SFX;
|
|||||||
|
|
||||||
namespace Settings {
|
namespace Settings {
|
||||||
std::string seed;
|
std::string seed;
|
||||||
|
std::string hash;
|
||||||
std::string version = RANDOMIZER_VERSION "-" COMMIT_NUMBER;
|
std::string version = RANDOMIZER_VERSION "-" COMMIT_NUMBER;
|
||||||
std::array<uint8_t, 5> hashIconIndexes;
|
std::array<uint8_t, 5> hashIconIndexes;
|
||||||
|
|
||||||
|
@ -863,6 +863,7 @@ void UpdateSettings(std::unordered_map<RandomizerSettingKey, uint8_t> cvarSettin
|
|||||||
extern std::string seed;
|
extern std::string seed;
|
||||||
extern std::string version;
|
extern std::string version;
|
||||||
extern std::array<uint8_t, 5> hashIconIndexes;
|
extern std::array<uint8_t, 5> hashIconIndexes;
|
||||||
|
extern std::string hash;
|
||||||
|
|
||||||
extern bool skipChildZelda;
|
extern bool skipChildZelda;
|
||||||
|
|
||||||
|
@ -40,8 +40,11 @@ static RandomizerHash randomizerHash;
|
|||||||
static SpoilerData spoilerData;
|
static SpoilerData spoilerData;
|
||||||
|
|
||||||
void GenerateHash() {
|
void GenerateHash() {
|
||||||
for (size_t i = 0; i < Settings::hashIconIndexes.size(); i++) {
|
while (Settings::hash.length() < 10) {
|
||||||
int number = Settings::seed[i] - '0';
|
Settings::hash = "0" + Settings::hash;
|
||||||
|
}
|
||||||
|
for (size_t i = 0, j = 0; i < Settings::hashIconIndexes.size(); i++, j += 2) {
|
||||||
|
int number = std::stoi(Settings::hash.substr(j, 2));
|
||||||
Settings::hashIconIndexes[i] = number;
|
Settings::hashIconIndexes[i] = number;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -740,11 +743,11 @@ const char* SpoilerLog_Write(int language) {
|
|||||||
|
|
||||||
std::string jsonString = jsonData.dump(4);
|
std::string jsonString = jsonData.dump(4);
|
||||||
std::ofstream jsonFile(Ship::Window::GetPathRelativeToAppDirectory(
|
std::ofstream jsonFile(Ship::Window::GetPathRelativeToAppDirectory(
|
||||||
(std::string("Randomizer/") + std::string(Settings::seed) + std::string(".json")).c_str()));
|
(std::string("Randomizer/") + std::string(Settings::hash) + std::string(".json")).c_str()));
|
||||||
jsonFile << std::setw(4) << jsonString << std::endl;
|
jsonFile << std::setw(4) << jsonString << std::endl;
|
||||||
jsonFile.close();
|
jsonFile.close();
|
||||||
|
|
||||||
return Settings::seed.c_str();
|
return Settings::hash.c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlacementLog_Msg(std::string_view msg) {
|
void PlacementLog_Msg(std::string_view msg) {
|
||||||
|
@ -89,23 +89,23 @@ std::array<Sprite, 100> gSeedTextures = { {
|
|||||||
{ dgGiantsWalletIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 78 },
|
{ dgGiantsWalletIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 78 },
|
||||||
{ dgDekuSeedsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 79 },
|
{ dgDekuSeedsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 79 },
|
||||||
{ dgFishingPoleIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 80 },
|
{ dgFishingPoleIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 80 },
|
||||||
{ dgForestMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 81 },
|
{ dgForestMedallionIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 81 },
|
||||||
{ dgFireMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 82 },
|
{ dgFireMedallionIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 82 },
|
||||||
{ dgWaterMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 83 },
|
{ dgWaterMedallionIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 83 },
|
||||||
{ dgSpiritMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 84 },
|
{ dgSpiritMedallionIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 84 },
|
||||||
{ dgShadowMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 85 },
|
{ dgShadowMedallionIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 85 },
|
||||||
{ dgLightMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 86 },
|
{ dgLightMedallionIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 86 },
|
||||||
{ dgKokiriEmeraldIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 87 },
|
{ dgKokiriEmeraldIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 87 },
|
||||||
{ dgGoronRubyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 88 },
|
{ dgGoronRubyIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 88 },
|
||||||
{ dgZoraSapphireIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 89 },
|
{ dgZoraSapphireIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 89 },
|
||||||
{ dgStoneOfAgonyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 90 },
|
{ dgStoneOfAgonyIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 90 },
|
||||||
{ dgGerudosCardIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 91 },
|
{ dgGerudosCardIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 91 },
|
||||||
{ dgGoldSkulltulaIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 92 },
|
{ dgGoldSkulltulaIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 92 },
|
||||||
{ dgHeartContainerIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 93 },
|
{ dgHeartContainerIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 93 },
|
||||||
{ dgBossKeyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 94 },
|
{ dgBossKeyIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 94 },
|
||||||
{ dgCompassIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 95 },
|
{ dgCompassIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 95 },
|
||||||
{ dgDungeonMapIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 96 },
|
{ dgDungeonMapIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 96 },
|
||||||
{ dgSmallKeyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 97 },
|
{ dgSmallKeyIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 97 },
|
||||||
{ dgSmallMagicJarIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 98 },
|
{ dgSmallMagicJarIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 98 },
|
||||||
{ dgBigMagicJarIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 99 },
|
{ dgBigMagicJarIconTex, 24, 24, G_IM_FMT_RGBA, G_IM_SIZ_32b, 99 },
|
||||||
} };
|
} };
|
Loading…
x
Reference in New Issue
Block a user