Cross-platform building edits. If anyone has a better idea of how to handle this fake GIE, I'm all ears.

This commit is contained in:
Malkierian 2024-02-17 08:01:29 -07:00
parent 0723a9473a
commit a3f5f08be1
10 changed files with 19 additions and 16 deletions

View File

@ -138,8 +138,6 @@ Color_RGB8 kokiriColor = { 0x1E, 0x69, 0x1B };
Color_RGB8 goronColor = { 0x64, 0x14, 0x00 };
Color_RGB8 zoraColor = { 0x00, 0xEC, 0x64 };
extern "C" GetItemEntry GetItemMystery = { ITEM_NONE_FE, 0, 0, 0, 0, 0, 0, 0, 0, false, ITEM_FROM_NPC, ITEM_CATEGORY_JUNK, NULL, MOD_RANDOMIZER, (CustomDrawFunc)Randomizer_DrawMysteryItem };
float previousImGuiScale;
// Same as NaviColor type from OoT src (z_actor.c), but modified to be sans alpha channel for Controller LED.
@ -2426,6 +2424,10 @@ extern "C" bool Randomizer_IsCheckShuffled(RandomizerCheck randomizerCheck) {
return CheckTracker::IsCheckShuffled(RandomizerCheckObjects::GetAllRCObjects().find(randomizerCheck)->second);
}
extern "C" GetItemEntry GetItemMystery() {
return { ITEM_NONE_FE, 0, 0, 0, 0, 0, 0, 0, 0, false, ITEM_FROM_NPC, ITEM_CATEGORY_JUNK, NULL, MOD_RANDOMIZER, (CustomDrawFunc)Randomizer_DrawMysteryItem };
}
CustomMessage Randomizer_GetCustomGetItemMessage(Player* player) {
s16 giid;
if (player->getItemEntry.objectId != OBJECT_INVALID) {

View File

@ -166,7 +166,7 @@ GetItemEntry Randomizer_GetItemFromActorWithoutObtainabilityCheck(s16 actorId, s
GetItemEntry Randomizer_GetItemFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId);
GetItemEntry Randomizer_GetItemFromKnownCheckWithoutObtainabilityCheck(RandomizerCheck randomizerCheck, GetItemID ogId);
bool Randomizer_IsCheckShuffled(RandomizerCheck check);
GetItemEntry GetItemMystery;
GetItemEntry GetItemMystery();
ItemObtainability Randomizer_GetItemObtainabilityFromRandomizerCheck(RandomizerCheck randomizerCheck);
int CustomMessage_RetrieveIfExists(PlayState* play);
void Overlay_DisplayText(float duration, const char* text);

View File

@ -1368,7 +1368,7 @@ void EnItem00_DrawCollectible(EnItem00* this, PlayState* play) {
if (randoCheck != RC_UNKNOWN_CHECK) {
this->randoGiEntry = CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(randoCheck)
? GetItemMystery : Randomizer_GetItemFromKnownCheck(randoCheck, GI_NONE);
? GetItemMystery() : Randomizer_GetItemFromKnownCheck(randoCheck, GI_NONE);
this->randoGiEntry.getItemFrom = ITEM_FROM_FREESTANDING;
}
@ -1462,7 +1462,7 @@ void EnItem00_DrawHeartPiece(EnItem00* this, PlayState* play) {
if (randoCheck != RC_UNKNOWN_CHECK) {
this->randoGiEntry = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(randoCheck))
? GetItemMystery : Randomizer_GetItemFromKnownCheck(randoCheck, GI_NONE);
? GetItemMystery() : Randomizer_GetItemFromKnownCheck(randoCheck, GI_NONE);
this->randoGiEntry.getItemFrom = ITEM_FROM_FREESTANDING;
}

View File

@ -2089,7 +2089,7 @@ void DemoEffect_DrawGetItem(Actor* thisx, PlayState* play) {
}
if (IS_RANDO && play->sceneNum == SCENE_JABU_JABU) {
GetItemEntry getItemEntry = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_BARINADE))
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_BARINADE, RG_ZORA_SAPPHIRE);
? GetItemMystery() : Randomizer_GetItemFromKnownCheck(RC_BARINADE, RG_ZORA_SAPPHIRE);
this->getItem.drawId = getItemEntry.gid;
func_8002EBCC(thisx, play, 0);
func_8002ED80(thisx, play, 0);

View File

@ -516,16 +516,17 @@ void EnExItem_DrawItems(EnExItem* this, PlayState* play) {
case EXITEM_BOMB_BAG_BOWLING:
case EXITEM_BOMB_BAG_COUNTER:
randoGetItem = (CVarGetInteger("gEnhancement.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_MARKET_BOMBCHU_BOWLING_FIRST_PRIZE))
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_FIRST_PRIZE, GI_BOMB_BAG_20);
? GetItemMystery()
: Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_FIRST_PRIZE, GI_BOMB_BAG_20);
break;
case EXITEM_BOMBCHUS_BOWLING:
case EXITEM_BOMBCHUS_COUNTER:
randoGetItem = (CVarGetInteger("gEnhancement.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_MARKET_BOMBCHU_BOWLING_BOMBCHUS))
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_BOMBCHUS, GI_BOMBCHUS_10);
? GetItemMystery() : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_BOMBCHUS, GI_BOMBCHUS_10);
break;
case EXITEM_BULLET_BAG:
randoGetItem = (CVarGetInteger("gEnhancement.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_LW_TARGET_IN_WOODS))
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LW_TARGET_IN_WOODS, GI_BULLET_BAG_50);
? GetItemMystery() : Randomizer_GetItemFromKnownCheck(RC_LW_TARGET_IN_WOODS, GI_BULLET_BAG_50);
break;
}
@ -544,7 +545,7 @@ void EnExItem_DrawHeartPiece(EnExItem* this, PlayState* play) {
if (IS_RANDO) {
GetItemEntry randoGetItem = (CVarGetInteger("gEnhancement.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_MARKET_BOMBCHU_BOWLING_SECOND_PRIZE))
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_SECOND_PRIZE, GI_HEART_PIECE);
? GetItemMystery() : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_SECOND_PRIZE, GI_HEART_PIECE);
EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem);
GetItemEntry_Draw(play, randoGetItem);
} else {

View File

@ -1332,7 +1332,7 @@ void EnGirlA_Draw(Actor* thisx, PlayState* play) {
if (this->actor.params == SI_RANDOMIZED_ITEM) {
ShopItemIdentity shopItemIdentity = Randomizer_IdentifyShopItem(play->sceneNum, this->randoSlotIndex);
GetItemEntry getItemEntry = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && this->actor.params == SI_RANDOMIZED_ITEM) ? GetItemMystery :
GetItemEntry getItemEntry = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && this->actor.params == SI_RANDOMIZED_ITEM) ? GetItemMystery() :
Randomizer_GetItemFromKnownCheckWithoutObtainabilityCheck(shopItemIdentity.randomizerCheck, shopItemIdentity.ogItemId);
EnItem00_CustomItemsParticles(&this->actor, play, getItemEntry);

View File

@ -214,7 +214,7 @@ void EnSi_Draw(Actor* thisx, PlayState* play) {
GetItem_Draw(play, GID_SKULL_TOKEN_2);
} else {
RandomizerCheck check = Randomizer_GetCheckFromActor(this->actor.id, play->sceneNum, this->actor.params);
getItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(check)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(check, GI_SKULL_TOKEN);
getItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(check)) ? GetItemMystery() : Randomizer_GetItemFromKnownCheck(check, GI_SKULL_TOKEN);
EnItem00_CustomItemsParticles(&this->actor, play, getItem);
if (getItem.itemId != ITEM_SKULL_TOKEN) {
f32 mtxScale = 1.5f;

View File

@ -100,7 +100,7 @@ void ItemBHeart_Draw(Actor* thisx, PlayState* play) {
if (IS_RANDO) {
RandomizerCheck check = Randomizer_GetCheckFromActor(this->actor.id, play->sceneNum, this->actor.params);
GetItemEntry_Draw(play, (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(check)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(check, GI_HEART_CONTAINER_2), check);
GetItemEntry_Draw(play, (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(check)) ? GetItemMystery() : Randomizer_GetItemFromKnownCheck(check, GI_HEART_CONTAINER_2));
} else {
if (flag) {
Gfx_SetupDL_25Xlu(play->state.gfxCtx);

View File

@ -250,9 +250,9 @@ void ItemEtcetera_Draw(Actor* thisx, PlayState* play) {
if (IS_RANDO) {
GetItemEntry randoGetItem = (GetItemEntry)GET_ITEM_NONE;
if (type == ITEM_ETC_ARROW_FIRE) {
randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_LH_SUN)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LH_SUN, GI_ARROW_FIRE);
randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_LH_SUN)) ? GetItemMystery() : Randomizer_GetItemFromKnownCheck(RC_LH_SUN, GI_ARROW_FIRE);
} else if (type == ITEM_ETC_LETTER) {
randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_LH_UNDERWATER_ITEM)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LH_UNDERWATER_ITEM, GI_LETTER_RUTO);
randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_LH_UNDERWATER_ITEM)) ? GetItemMystery() : Randomizer_GetItemFromKnownCheck(RC_LH_UNDERWATER_ITEM, GI_LETTER_RUTO);
}
EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem);

View File

@ -215,7 +215,7 @@ void ItemOcarina_Draw(Actor* thisx, PlayState* play) {
func_8002ED80(thisx, play, 0);
if (IS_RANDO) {
GetItemEntry randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_HF_OCARINA_OF_TIME_ITEM)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_HF_OCARINA_OF_TIME_ITEM, GI_OCARINA_OOT);
GetItemEntry randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_HF_OCARINA_OF_TIME_ITEM)) ? GetItemMystery() : Randomizer_GetItemFromKnownCheck(RC_HF_OCARINA_OF_TIME_ITEM, GI_OCARINA_OOT);
EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem);
GetItemEntry_Draw(play, randoGetItem);
return;