Implements a larger array of Sprites for the Icon Hash.

This commit is contained in:
Christopher Leggett 2022-09-07 20:23:22 -04:00
parent 8d75603e4b
commit 1763eda169
No known key found for this signature in database
GPG Key ID: 7093AE5FF7037D79
3 changed files with 113 additions and 31 deletions

View File

@ -186,6 +186,7 @@ set(Header_Files__soh__Enhancements__randomizer
"soh/Enhancements/randomizer/adult_trade_shuffle.h"
"soh/Enhancements/randomizer/randomizer_check_objects.h"
"soh/Enhancements/randomizer/draw.h"
"soh/Enhancements/randomizer/rando_hash.h"
)
source_group("Header Files\\soh\\Enhancements\\randomizer" FILES ${Header_Files__soh__Enhancements__randomizer})

View File

@ -0,0 +1,111 @@
#pragma once
#include "randomizerTypes.h"
#include <array>
#include "variables.h"
#include <string>
#include <textures/icon_item_static/icon_item_static.h>
#include <textures/icon_item_24_static/icon_item_24_static.h>
std::array<Sprite, 100> gSeedTextures = { {
{ dgDekuNutIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0 },
{ dgDekuStickIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 1 },
{ dgBombIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 2 },
{ dgFairyBowIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 3 },
{ dgFireArrowIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 4 },
{ dgDinsFireIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 5 },
{ dgFairySlingshotIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 6 },
{ dgFairyOcarinaIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 7 },
{ dgOcarinaofTimeIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 8 },
{ dgBombchuIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 9 },
{ dgHookshotIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 10 },
{ dgLongshotIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 11 },
{ dgIceArrowIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 12 },
{ dgFaroresWindIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 13 },
{ dgBoomerangIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 14 },
{ dgLensofTruthIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 15 },
{ dgMagicBeansIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 16 },
{ dgMegatonHammerIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 17 },
{ dgLightArrowIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 18 },
{ dgNayrusLoveIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 19 },
{ dgEmptyBottleIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 20 },
{ dgRedPotionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 21 },
{ dgGreenPotionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 22 },
{ dgBluePotionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 23 },
{ dgBottledFairyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 24 },
{ dgFishIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 25 },
{ dgMilkFullIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 26 },
{ dgRutosLetterIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 27 },
{ dgBlueFireIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 28 },
{ dgBugIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 29 },
{ dgBigPoeIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 30 },
{ dgMilkhalfIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 31 },
{ dgPoeIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 32 },
{ dgZeldasLetterIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 33 },
{ dgKeatonMaskIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 34 },
{ dgSkullMaskIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 35 },
{ dgSpookyMaskIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 36 },
{ dgBunnyHoodIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 37 },
{ dgGoronMaskIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 38 },
{ dgZoraMaskIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 39 },
{ dgGerudoMaskIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 40 },
{ dgMaskofTruthIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 41 },
{ dgSoldOutIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 42 },
{ dgPocketEggIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 43 },
{ dgPocketCuccoIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 44 },
{ dgCojiroIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 45 },
{ dgOddMushroomIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 46 },
{ dgOddPotionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 47 },
{ dgPoachersSawIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 48 },
{ dgBrokenBiggoronSwordIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 49 },
{ dgPrescriptionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 50 },
{ dgEyeBallFrogIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 51 },
{ dgEyeDropsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 52 },
{ dgClaimCheckIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 53 },
{ dgKokiriSwordIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 54 },
{ dgMasterSwordIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 55 },
{ dgBiggoronSwordIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 56 },
{ dgDekuShieldIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 57 },
{ dgHylianShieldIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 58 },
{ dgMirrorShieldIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 59 },
{ dgKokiriTunicIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 60 },
{ dgGoronTunicIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 61 },
{ dgZoraTunicIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 62 },
{ dgKokiriBootsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 63 },
{ dgIronBootsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 64 },
{ dgHoverBootsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 65 },
{ dgBulletBag30IconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 66 },
{ dgBulletBag40IconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 67 },
{ dgBulletBag50IconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 68 },
{ dgQuiver30IconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 69 },
{ dgBombBag20IconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 70 },
{ dgGoronsBraceletIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 71 },
{ dgSilverGauntletsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 72 },
{ dgGoldenGauntletsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 73 },
{ dgSilverScaleIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 74 },
{ dgGoldenScaleIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 75 },
{ dgBrokenGiantsKnifeIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 76 },
{ dgAdultsWalletIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 77 },
{ dgGiantsWalletIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 78 },
{ dgDekuSeedsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 79 },
{ dgFishingPoleIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 80 },
{ dgForestMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 81 },
{ dgFireMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 82 },
{ dgWaterMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 83 },
{ dgSpiritMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 84 },
{ dgShadowMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 85 },
{ dgLightMedallionIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 86 },
{ dgKokiriEmeraldIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 87 },
{ dgGoronRubyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 88 },
{ dgZoraSapphireIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 89 },
{ dgStoneOfAgonyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 90 },
{ dgGerudosCardIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 91 },
{ dgGoldSkulltulaIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 92 },
{ dgHeartContainerIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 93 },
{ dgBossKeyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 94 },
{ dgCompassIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 95 },
{ dgDungeonMapIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 96 },
{ dgSmallKeyIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 97 },
{ dgSmallMagicJarIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 98 },
{ dgBigMagicJarIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 99 },
} };

View File

@ -20,11 +20,11 @@
#include "randomizer_check_objects.h"
#include <sstream>
#include "draw.h"
#include "rando_hash.h"
using json = nlohmann::json;
using namespace std::literals::string_literals;
std::unordered_map<uint8_t, Sprite> gSeedTextures;
std::unordered_map<std::string, RandomizerCheck> SpoilerfileCheckNameToEnum;
std::set<RandomizerCheck> excludedLocations;
@ -64,36 +64,6 @@ static const char* frenchRupeeNames[36] = {
};
Randomizer::Randomizer() {
Sprite bowSprite = { dgFairyBowIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0 };
gSeedTextures[0] = bowSprite;
Sprite bombchuSprite = { dgBombchuIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 1 };
gSeedTextures[1] = bombchuSprite;
Sprite beansSprite = { dgMagicBeansIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 2 };
gSeedTextures[2] = beansSprite;
Sprite milkSprite = { dgMilkFullIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 3 };
gSeedTextures[3] = milkSprite;
Sprite frogSprite = { dgEyeBallFrogIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 4 };
gSeedTextures[4] = frogSprite;
Sprite mirrorShieldSprite = { dgMirrorShieldIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 5 };
gSeedTextures[5] = mirrorShieldSprite;
Sprite hoverBootsSprite = { dgHoverBootsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 6 };
gSeedTextures[6] = hoverBootsSprite;
Sprite megatonHammerSprite = { dgMegatonHammerIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 7 };
gSeedTextures[7] = megatonHammerSprite;
Sprite silverGauntletsSprite = { dgSilverGauntletsIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 8 };
gSeedTextures[8] = silverGauntletsSprite;
Sprite ootOcarinaSprite = { dgOcarinaofTimeIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 9 };
gSeedTextures[9] = ootOcarinaSprite;
for (auto areaIt : RandomizerCheckObjects::GetAllRCObjects()) {
for (auto locationIt : areaIt.second) {
SpoilerfileCheckNameToEnum[locationIt.rcSpoilerName] = locationIt.rc;