|
|
|
@@ -14,6 +14,7 @@
|
|
|
|
|
#include "3drando/rando_main.hpp"
|
|
|
|
|
#include <soh/Enhancements/debugger/ImGuiHelpers.h>
|
|
|
|
|
#include "Lib/ImGui/imgui_internal.h"
|
|
|
|
|
#include <soh/Enhancements/item-tables/ItemTableManager.h>
|
|
|
|
|
|
|
|
|
|
using json = nlohmann::json;
|
|
|
|
|
|
|
|
|
@@ -4746,6 +4747,55 @@ void DrawRandoEditor(bool& open) {
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void InitRandoItemTable() {
|
|
|
|
|
GetItemEntry getItemTable[] = {
|
|
|
|
|
GET_ITEM(RG_LIGHT_MEDALLION, OBJECT_GI_MEDAL, GID_MEDALLION_LIGHT, 0x40, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_FOREST_MEDALLION, OBJECT_GI_MEDAL, GID_MEDALLION_FOREST, 0x3E, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_FIRE_MEDALLION, OBJECT_GI_MEDAL, GID_MEDALLION_FIRE, 0x3C, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_WATER_MEDALLION, OBJECT_GI_MEDAL, GID_MEDALLION_WATER, 0x3D, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_SHADOW_MEDALLION, OBJECT_GI_MEDAL, GID_MEDALLION_SHADOW, 0x41, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_SPIRIT_MEDALLION, OBJECT_GI_MEDAL, GID_MEDALLION_SPIRIT, 0x3F, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
|
|
|
|
|
GET_ITEM(RG_KOKIRI_EMERALD, OBJECT_GI_JEWEL, GID_KOKIRI_EMERALD, 0x80, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_GORON_RUBY, OBJECT_GI_JEWEL, GID_GORON_RUBY, 0x81, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_ZORA_SAPPHIRE, OBJECT_GI_JEWEL, GID_ZORA_SAPPHIRE, 0x82, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
|
|
|
|
|
GET_ITEM(RG_ZELDAS_LULLABY, OBJECT_GI_MELODY, GID_SONG_ZELDA, 0xD4, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_SUNS_SONG, OBJECT_GI_MELODY, GID_SONG_SUN, 0xD3, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_EPONAS_SONG, OBJECT_GI_MELODY, GID_SONG_EPONA, 0xD2, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_SONG_OF_STORMS, OBJECT_GI_MELODY, GID_SONG_STORM, 0xD6, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_SONG_OF_TIME, OBJECT_GI_MELODY, GID_SONG_TIME, 0xD5, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_SARIAS_SONG, OBJECT_GI_MELODY, GID_SONG_SARIA, 0xD1, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
|
|
|
|
|
GET_ITEM(RG_MINUET_OF_FOREST, OBJECT_GI_MELODY, GID_SONG_MINUET, 0x73, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOLERO_OF_FIRE, OBJECT_GI_MELODY, GID_SONG_BOLERO, 0x74, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_SERENADE_OF_WATER, OBJECT_GI_MELODY, GID_SONG_SERENADE, 0x75, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_NOCTURNE_OF_SHADOW, OBJECT_GI_MELODY, GID_SONG_NOCTURNE, 0x77, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_REQUIEM_OF_SPIRIT, OBJECT_GI_MELODY, GID_SONG_REQUIEM, 0x76, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_PRELUDE_OF_LIGHT, OBJECT_GI_MELODY, GID_SONG_PRELUDE, 0x78, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
|
|
|
|
|
GET_ITEM(RG_MAGIC_SINGLE, OBJECT_GI_MAGICPOT, GID_MAGIC_SMALL, 0xE4, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_MAGIC_DOUBLE, OBJECT_GI_MAGICPOT, GID_MAGIC_LARGE, 0xE8, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_DOUBLE_DEFENSE, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xE9, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_RED_POTION, OBJECT_GI_LIQUID, GID_POTION_RED, 0x43, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_GREEN_POTION, OBJECT_GI_LIQUID, GID_POTION_GREEN, 0x44, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_BLUE_POTION, OBJECT_GI_LIQUID, GID_POTION_BLUE, 0x45, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x46, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_FISH, OBJECT_GI_FISH, GID_FISH, 0x47, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_BLUE_FIRE, OBJECT_GI_FIRE, GID_BLUE_FIRE, 0x5D, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_BUGS, OBJECT_GI_INSECT, GID_BUG, 0x7A, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_POE, OBJECT_GI_GHOST, GID_POE, 0x97, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
GET_ITEM(RG_BOTTLE_WITH_BIG_POE, OBJECT_GI_GHOST, GID_BIG_POE, 0xF9, 0x80, CHEST_ANIM_LONG),
|
|
|
|
|
};
|
|
|
|
|
ItemTableManager::Instance->AddItemTable("Randomizer");
|
|
|
|
|
for (int i = 0; i < ARRAY_SIZE(getItemTable); i++) {
|
|
|
|
|
getItemTable[i].modIndex = MOD_RANDOMIZER;
|
|
|
|
|
ItemTableManager::Instance->AddItemEntry("Randomizer", getItemTable[i].itemId, getItemTable[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void InitRando() {
|
|
|
|
|
SohImGui::AddWindow("Randomizer", "Randomizer Settings", DrawRandoEditor);
|
|
|
|
|
}
|
|
|
|
|