From 4daa37256128f4102fdc3777c56e8deec45ed7d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Andr=C3=A9asson?= Date: Thu, 16 Jan 2025 04:09:19 +0100 Subject: [PATCH] * color is a sickly green when containing a check * added ZR 14 (adult only bush on the platform, not the same?) --- soh/soh/Enhancements/randomizer/ShuffleGrass.cpp | 14 +++++++++----- .../location_access/overworld/zora_river.cpp | 1 + soh/soh/Enhancements/randomizer/location_list.cpp | 1 + soh/soh/Enhancements/randomizer/randomizerTypes.h | 1 + soh/soh/Enhancements/randomizer/randomizer_inf.h | 1 + 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/ShuffleGrass.cpp b/soh/soh/Enhancements/randomizer/ShuffleGrass.cpp index 382501921..cae76d4e1 100644 --- a/soh/soh/Enhancements/randomizer/ShuffleGrass.cpp +++ b/soh/soh/Enhancements/randomizer/ShuffleGrass.cpp @@ -14,14 +14,16 @@ extern void EnItem00_DrawRandomizedItem(EnItem00* enItem00, PlayState* play); extern "C" void EnKusa_RandomizerDraw(Actor* thisx, PlayState* play) { - float grassSize = 0.5f; + //float grassSize = 0.5f; OPEN_DISPS(play->state.gfxCtx); Gfx_SetupDL_25Opa(play->state.gfxCtx); - Matrix_Scale(grassSize, grassSize, grassSize, MTXMODE_APPLY); - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 0, 255, 0, 255); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), - G_MTX_MODELVIEW | G_MTX_LOAD); + //Matrix_Scale(grassSize, grassSize, grassSize, MTXMODE_APPLY); + gDPSetGrayscaleColor(POLY_OPA_DISP++, 0, 255, 0, 255); + gSPGrayscale(POLY_OPA_DISP++, true); + + //gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__), + // G_MTX_MODELVIEW | G_MTX_LOAD); if (thisx->params == -255) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)object_kusa_DL_000140); @@ -29,6 +31,8 @@ extern "C" void EnKusa_RandomizerDraw(Actor* thisx, PlayState* play) { gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gFieldBushDL); } + gSPGrayscale(POLY_OPA_DISP++, false); + CLOSE_DISPS(play->state.gfxCtx); } diff --git a/soh/soh/Enhancements/randomizer/location_access/overworld/zora_river.cpp b/soh/soh/Enhancements/randomizer/location_access/overworld/zora_river.cpp index 2e6901940..9f8185e99 100644 --- a/soh/soh/Enhancements/randomizer/location_access/overworld/zora_river.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/overworld/zora_river.cpp @@ -60,6 +60,7 @@ void RegionTable_Init_ZoraRiver() { LOCATION(RC_ZR_NEAR_GROTTOS_GOSSIP_STONE, true), LOCATION(RC_ZR_NEAR_DOMAIN_GOSSIP_STONE, true), LOCATION(RC_ZR_GRASS_13, logic->IsChild && logic->CanCutShrubs()), + LOCATION(RC_ZR_GRASS_14, logic->IsAdult && logic->CanCutShrubs()), }, { //Exits Entrance(RR_ZR_FRONT, []{return true;}), diff --git a/soh/soh/Enhancements/randomizer/location_list.cpp b/soh/soh/Enhancements/randomizer/location_list.cpp index 86d15c455..cb93080f6 100644 --- a/soh/soh/Enhancements/randomizer/location_list.cpp +++ b/soh/soh/Enhancements/randomizer/location_list.cpp @@ -1247,6 +1247,7 @@ void Rando::StaticData::InitLocationTable() { // locationTable[RC_ZR_GRASS_11] = Location::Grass(RC_ZR_GRASS_11, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(-1468, 936), "ZR Grass 11", "ZR Grass 11", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_11)); locationTable[RC_ZR_GRASS_12] = Location::Grass(RC_ZR_GRASS_12, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(-1436, 906), "ZR Grass 12", "ZR Grass 12", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_12)); locationTable[RC_ZR_GRASS_13] = Location::Grass(RC_ZR_GRASS_13, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(231, -1478), "ZR Grass 13", "ZR Grass 13", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_13)); + locationTable[RC_ZR_GRASS_14] = Location::Grass(RC_ZR_GRASS_14, RCQUEST_BOTH, RCAREA_ZORAS_RIVER, SCENE_ZORAS_RIVER, TWO_ACTOR_PARAMS(233, -1464), "ZR Grass 14", "ZR Grass 14", RHT_ZR_GRASS, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_14)); // Grotto Grass //locationTable[RC_KF_STORMS_GROTTO_GRASS_1] = Location::Grass(RC_KF_STORMS_GROTTO_GRASS_1, RCQUEST_BOTH, RCAREA_KOKIRI_FOREST, SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, -257), "KF Storms Grotto Grass 1", "KF Storms Grotto Grass 1", RHT_KOKIRI_FOREST, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_STORMS_GROTTO_GRASS_1)); //locationTable[RC_KF_STORMS_GROTTO_GRASS_2] = Location::Grass(RC_KF_STORMS_GROTTO_GRASS_2, RCQUEST_BOTH, RCAREA_KOKIRI_FOREST, SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, -449), "KF Storms Grotto Grass 2", "KF Storms Grotto Grass 2", RHT_KOKIRI_FOREST, RG_GREEN_RUPEE, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_STORMS_GROTTO_GRASS_2)); diff --git a/soh/soh/Enhancements/randomizer/randomizerTypes.h b/soh/soh/Enhancements/randomizer/randomizerTypes.h index 4d64a3ad0..d1f0678aa 100644 --- a/soh/soh/Enhancements/randomizer/randomizerTypes.h +++ b/soh/soh/Enhancements/randomizer/randomizerTypes.h @@ -3001,6 +3001,7 @@ typedef enum { RC_ZR_GRASS_11, RC_ZR_GRASS_12, RC_ZR_GRASS_13, + RC_ZR_GRASS_14, // Grotto Grass // RC_KF_STORMS_GROTTO_GRASS_1, // RC_KF_STORMS_GROTTO_GRASS_2, diff --git a/soh/soh/Enhancements/randomizer/randomizer_inf.h b/soh/soh/Enhancements/randomizer/randomizer_inf.h index e5f208b62..5bcb01d07 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_inf.h +++ b/soh/soh/Enhancements/randomizer/randomizer_inf.h @@ -1451,6 +1451,7 @@ typedef enum { RAND_INF_ZR_GRASS_11, RAND_INF_ZR_GRASS_12, RAND_INF_ZR_GRASS_13, + RAND_INF_ZR_GRASS_14, // Grotto Grass // RAND_INF_KF_STORMS_GROTTO_GRASS_1, // RAND_INF_KF_STORMS_GROTTO_GRASS_2,