Skip to content

Commit

Permalink
Merge remote-tracking branch 'pepe20129/shuffle_beehives' into chaos-…
Browse files Browse the repository at this point in the history
…rando-with-dungeon-chains
  • Loading branch information
Archez committed Dec 17, 2023
2 parents 3fb4c5b + 477b57c commit 7e3a3ae
Show file tree
Hide file tree
Showing 33 changed files with 683 additions and 58 deletions.
2 changes: 1 addition & 1 deletion soh/include/functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ u32 Actor_HasParent(Actor* actor, PlayState* play);
// TODO: Rename the follwing 3 functions using whatever scheme we use when we rename func_8002F434 and func_8002F554.
s32 GiveItemEntryWithoutActor(PlayState* play, GetItemEntry getItemEntry);
s32 GiveItemEntryFromActor(Actor* actor, PlayState* play, GetItemEntry getItemEntry, f32 xzRange, f32 yRange);
void GiveItemEntryFromActorWithFixedRange(Actor* actor, PlayState* play, GetItemEntry getItemEntry);
s32 GiveItemEntryFromActorWithFixedRange(Actor* actor, PlayState* play, GetItemEntry getItemEntry);
s32 func_8002F434(Actor* actor, PlayState* play, s32 getItemId, f32 xzRange, f32 yRange);
void func_8002F554(Actor* actor, PlayState* play, s32 getItemId);
void func_8002F580(Actor* actor, PlayState* play);
Expand Down
3 changes: 3 additions & 0 deletions soh/include/z64actor.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "z64collision_check.h"
#include "z64bgcheck.h"
#include "soh/Enhancements/item-tables/ItemTableTypes.h"
#include "soh/Enhancements/randomizer/randomizerTypes.h"

#define ACTOR_NUMBER_MAX 2000
#define INVISIBLE_ACTOR_MAX 20
Expand Down Expand Up @@ -296,6 +297,8 @@ typedef struct EnItem00 {
/* 0x160 */ ColliderCylinder collider;
s16 ogParams;
GetItemEntry randoGiEntry;
RandomizerCheck randoCheck;
RandomizerInf randoInf;
} EnItem00; // size = 0x1AC

// Only A_OBJ_SIGNPOST_OBLONG and A_OBJ_SIGNPOST_ARROW are used in room files.
Expand Down
2 changes: 1 addition & 1 deletion soh/include/z64save.h
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ typedef struct {
/* */ char inputSeed[1024];
/* */ u32 finalSeed;
/* */ u8 seedIcons[5];
/* */ u16 randomizerInf[10];
/* */ u16 randomizerInf[13];
/* */ u8 mqDungeonCount;
/* */ u16 adultTradeItems;
/* */ u8 triforcePiecesCollected;
Expand Down
37 changes: 35 additions & 2 deletions soh/soh/Enhancements/debugger/debugSaveEditor.h
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ const std::vector<FlagTable> flagTables = {
{ 0x24, "Market Crowd Text Randomizer" },
{ 0x30, "Entered the Market" },
} },
{ "Randomizer Inf Flags", RANDOMIZER_INF, 0x09, {
{ "Randomizer Inf Flags", RANDOMIZER_INF, 0x0B, {
{ RAND_INF_DUNGEONS_DONE_DEKU_TREE, "DUNGEONS_DONE_DEKU_TREE" },
{ RAND_INF_DUNGEONS_DONE_DODONGOS_CAVERN, "DUNGEONS_DONE_DODONGOS_CAVERN" },
{ RAND_INF_DUNGEONS_DONE_JABU_JABUS_BELLY, "DUNGEONS_DONE_JABU_JABUS_BELLY" },
Expand Down Expand Up @@ -500,7 +500,40 @@ const std::vector<FlagTable> flagTables = {

{ RAND_INF_KAK_100_GOLD_SKULLTULA_REWARD, "KAK_100_GOLD_SKULLTULA_REWARD" },
{ RAND_INF_GREG_FOUND, "RAND_INF_GREG_FOUND" },


{ RAND_INF_BEEHIVE_KF_STORMS_GROTTO_LEFT, "RAND_INF_BEEHIVE_KF_STORMS_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_KF_STORMS_GROTTO_RIGHT, "RAND_INF_BEEHIVE_KF_STORMS_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_LW_NEAR_SHORTCUTS_GROTTO_LEFT, "RAND_INF_BEEHIVE_LW_NEAR_SHORTCUTS_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_LW_NEAR_SHORTCUTS_GROTTO_RIGHT, "RAND_INF_BEEHIVE_LW_NEAR_SHORTCUTS_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_LW_DEKU_SCRUB_GROTTO, "RAND_INF_BEEHIVE_LW_DEKU_SCRUB_GROTTO" },
{ RAND_INF_BEEHIVE_SFM_STORMS_GROTTO, "RAND_INF_BEEHIVE_SFM_STORMS_GROTTO" },
{ RAND_INF_BEEHIVE_HF_NEAR_MARKET_GROTTO_LEFT, "RAND_INF_BEEHIVE_HF_NEAR_MARKET_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_HF_NEAR_MARKET_GROTTO_RIGHT, "RAND_INF_BEEHIVE_HF_NEAR_MARKET_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_HF_OPEN_GROTTO_LEFT, "RAND_INF_BEEHIVE_HF_OPEN_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_HF_OPEN_GROTTO_RIGHT, "RAND_INF_BEEHIVE_HF_OPEN_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_HF_SOUTHEAST_GROTTO_LEFT, "RAND_INF_BEEHIVE_HF_SOUTHEAST_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_HF_SOUTHEAST_GROTTO_RIGHT, "RAND_INF_BEEHIVE_HF_SOUTHEAST_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_HF_INSIDE_FENCE_GROTTO, "RAND_INF_BEEHIVE_HF_INSIDE_FENCE_GROTTO" },
{ RAND_INF_BEEHIVE_LLR_GROTTO, "RAND_INF_BEEHIVE_LLR_GROTTO" },
{ RAND_INF_BEEHIVE_KAK_OPEN_GROTTO_LEFT, "RAND_INF_BEEHIVE_KAK_OPEN_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_KAK_OPEN_GROTTO_RIGHT, "RAND_INF_BEEHIVE_KAK_OPEN_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_DMT_COW_GROTTO, "RAND_INF_BEEHIVE_DMT_COW_GROTTO" },
{ RAND_INF_BEEHIVE_DMT_STORMS_GROTTO_LEFT, "RAND_INF_BEEHIVE_DMT_STORMS_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_DMT_STORMS_GROTTO_RIGHT, "RAND_INF_BEEHIVE_DMT_STORMS_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_GC_GROTTO, "RAND_INF_BEEHIVE_GC_GROTTO" },
{ RAND_INF_BEEHIVE_DMC_UPPER_GROTTO_LEFT, "RAND_INF_BEEHIVE_DMC_UPPER_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_DMC_UPPER_GROTTO_RIGHT, "RAND_INF_BEEHIVE_DMC_UPPER_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_DMC_HAMMER_GROTTO, "RAND_INF_BEEHIVE_DMC_HAMMER_GROTTO" },
{ RAND_INF_BEEHIVE_ZR_OPEN_GROTTO_LEFT, "RAND_INF_BEEHIVE_ZR_OPEN_GROTTO_LEFT" },
{ RAND_INF_BEEHIVE_ZR_OPEN_GROTTO_RIGHT, "RAND_INF_BEEHIVE_ZR_OPEN_GROTTO_RIGHT" },
{ RAND_INF_BEEHIVE_ZR_STORMS_GROTTO, "RAND_INF_BEEHIVE_ZR_STORMS_GROTTO" },
{ RAND_INF_BEEHIVE_ZD_IN_FRONT_OF_KING_ZORA_LEFT, "RAND_INF_BEEHIVE_ZD_IN_FRONT_OF_KING_ZORA_LEFT" },
{ RAND_INF_BEEHIVE_ZD_IN_FRONT_OF_KING_ZORA_RIGHT, "RAND_INF_BEEHIVE_ZD_IN_FRONT_OF_KING_ZORA_RIGHT" },
{ RAND_INF_BEEHIVE_ZD_BEHIND_KING_ZORA, "RAND_INF_BEEHIVE_ZD_BEHIND_KING_ZORA" },
{ RAND_INF_BEEHIVE_LH_GROTTO, "RAND_INF_BEEHIVE_LH_GROTTO" },
{ RAND_INF_BEEHIVE_GV_DEKU_SCRUB_GROTTO, "RAND_INF_BEEHIVE_GV_DEKU_SCRUB_GROTTO" },
{ RAND_INF_BEEHIVE_COLOSSUS_GROTTO, "RAND_INF_BEEHIVE_COLOSSUS_GROTTO" },

{ RAND_INF_TOT_MASTER_SWORD, "RAND_INF_TOT_MASTER_SWORD"},
{ RAND_INF_CHILD_FISHING, "RAND_INF_CHILD_FISHING" },
{ RAND_INF_ADULT_FISHING, "RAND_INF_ADULT_FISHING" },
Expand Down
1 change: 1 addition & 0 deletions soh/soh/Enhancements/randomizer/3drando/category.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ enum class Category {
cVanillaMap,
cVanillaCompass,
cAdultTrade,
cBeehive,
};

enum class OptionCategory {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1356,4 +1356,164 @@ void HintTable_Init_Exclude_Overworld() {
//obscure text
Text{"a #cow in a luxurious hole# offers", /*french*/"la #vache dans une grotte luxueuse# donne", /*spanish*/"una #vaca de un lujoso hoyo# brinda"},
});

hintTable[KF_STORMS_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[KF_STORMS_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[LW_NEAR_SHORTCUTS_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[LW_NEAR_SHORTCUTS_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[LW_SCRUBS_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a pair of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un par de dekus# esconde"},
});

hintTable[SFM_STORMS_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a pair of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un par de dekus# esconde"},
});

hintTable[HF_NEAR_MARKET_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[HF_NEAR_MARKET_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[HF_OPEN_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[HF_OPEN_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[HF_SOUTHEAST_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[HF_SOUTHEAST_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[HF_INSIDE_FENCE_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a lonely scrub# hides", /*french*/"", /*spanish*/"una #colmena sobre un deku solitario# esconde"},
});

hintTable[LLR_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a trio of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un trío de dekus# esconde"},
});

hintTable[KAK_OPEN_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[KAK_OPEN_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[DMT_COW_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a cow# hides", /*french*/"", /*spanish*/"una #colmena sobre una vaca# esconde"},
});

hintTable[DMT_STORMS_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[DMT_STORMS_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[GC_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a trio of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un trío de dekus# esconde"},
});

hintTable[DMC_UPPER_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[DMC_UPPER_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[DMC_HAMMER_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a trio of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un trío de dekus# esconde"},
});

hintTable[ZR_OPEN_GROTTO_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[ZR_OPEN_GROTTO_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive above a chest# hides", /*french*/"", /*spanish*/"una #colmena sobre un cofre# esconde"},
});

hintTable[ZR_STORMS_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a pair of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un par de dekus# esconde"},
});

hintTable[ZD_IN_FRONT_OF_KING_ZORA_BEEHIVE_LEFT] = HintText::Exclude({
//obscure text
Text{"a #beehive in front of the king of the zoras# hides", /*french*/"", /*spanish*/"una #colmena delante del rey de los zoras# esconde"},
});

hintTable[ZD_IN_FRONT_OF_KING_ZORA_BEEHIVE_RIGHT] = HintText::Exclude({
//obscure text
Text{"a #beehive in front of the king of the zoras# hides", /*french*/"", /*spanish*/"una #colmena delante del rey de los zoras# esconde"},
});

hintTable[ZD_BEHIND_KING_ZORA_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive behind the king of the zoras# hides", /*french*/"", /*spanish*/"una #colmena detrás del rey de los zoras# esconde"},
});

hintTable[LH_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a trio of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un trío de dekus# esconde"},
});

hintTable[GV_DEKU_SCRUB_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a pair of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un par de dekus# esconde"},
});

hintTable[COLOSSUS_GROTTO_BEEHIVE] = HintText::Exclude({
//obscure text
Text{"a #beehive above a pair of scrubs# hides", /*french*/"", /*spanish*/"una #colmena sobre un par de dekus# esconde"},
});
}
Loading

0 comments on commit 7e3a3ae

Please sign in to comment.