Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Rando] Grassanity #4889

Open
wants to merge 46 commits into
base: develop
Choose a base branch
from
Open

[Rando] Grassanity #4889

wants to merge 46 commits into from

Conversation

Varuuna
Copy link
Contributor

@Varuuna Varuuna commented Jan 16, 2025

General

Setting up this draft PR to help me keep track of things a bit better.
Temp. location names. I can make them a bit easier to locate by using better names (and not use "X Grass 1").

Overworld (excl. grottos) is pretty much all done with one exceptions:

2 bushes behind the sign near the crawlspace in KF, due to their identical coords currently counts as 2 "Child/Adult" locations instead or 2 Child and 2 Adult. I believe other randomizers separate them.
I would prefer to separate them, but unsure of how I would go about it. Looked at Pots in the Guard House, but seems like no 2 pots share coordinates.

Remaining

  • Deku Tree + MQ
  • Dodongo's Cavern + MQ
  • Jabu Jabu MQ
  • Bottom of the Well + MQ
  • Grottos
  • Hints

Known Issues

  • Market locations currently can only be done during the day, due to day and night being different scenes.
  • Not collecting an item from grass that can regrow, letting it regrow and cutting it again drops another (duplicate) item, however, collecting the other item after collecting one (any order) does not do anything.
  • The 2 grass above Big Octo in JJB MQ are currently not working.

Some locations are not properly being checked in the tracker.

  • HF Cow Grotto Grass 2
  • MQ Deku Tree Slingshot Grass 4
  • MQ Deku Tree Larvae Grass 2

Build Artifacts

* Known issue with Market Night + 2 bushes in KF
* Known issue with Adult bush in ZR
* changed grassnity to be a combobox option
* added first 5 deku tree locations
* added ZR 14 (adult only bush on the platform, not the same?)
* updated draw method to fix regrowing grass
@Varuuna
Copy link
Contributor Author

Varuuna commented Jan 16, 2025

Noticed some old locacc files in there that are not supposed to still be there, will make sure to clean those out

@Malkierian
Copy link
Contributor

Yeah, I don't know where those locacc files came from, but they aren't in develop, so you were restoring that state rather than removing them.

@Varuuna
Copy link
Contributor Author

Varuuna commented Jan 16, 2025

Yeah, I don't know where those locacc files came from, but they aren't in develop, so you were restoring that state rather than removing them.

Yeah I thought I had gotten rid of them (ran into an issue with git after I accidentally kept them during merging). It looks correct now based on the files changed, but if you want me to go back and get it sorted so it doesn't even show up, I'd understand.

@Malkierian
Copy link
Contributor

Nah, we squash merge, so those files will basically disappear to develop when that happens.

@Varuuna
Copy link
Contributor Author

Varuuna commented Jan 18, 2025

Currently using this sickly green color to show that there is a check, because I have no design sense. Open for suggestions.
image

@Malkierian
Copy link
Contributor

If you're going to go color code, you might as well add a color for each CSMC tier, but perhaps custom textures would be better.

@Varuuna
Copy link
Contributor Author

Varuuna commented Jan 18, 2025

I could probably make it a less jarring green color, but I might leave the idea of custom textures to someone else. It's really not my domain to look into, haha.

@Varuuna Varuuna marked this pull request as ready for review January 22, 2025 18:36
@Varuuna
Copy link
Contributor Author

Varuuna commented Jan 24, 2025

Thanks to Burton for letting me know about a few incorrect names. With those, and a couple of playtests of my own I think this is now ready.

Edit: nevermind, apparently sometimes the grass is not behaving, need to look into a few cases

Edit2: False alarm, luckily only Market was being strange. Also merged ZR near PoH grass into a single location

@Varuuna Varuuna marked this pull request as draft January 24, 2025 22:35
@Varuuna Varuuna marked this pull request as ready for review January 24, 2025 23:45
Copy link
Contributor

@aMannus aMannus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some more preliminary comments. I'm going to hold off on a full review until at the very least after the DungeonInfo cleanup has come through, but I am excited to get this in.

soh/soh/Enhancements/randomizer/grassanity.cpp Outdated Show resolved Hide resolved
soh/soh/Enhancements/randomizer/grassanity.cpp Outdated Show resolved Hide resolved
Comment on lines 22 to 28
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gDPSetGrayscaleColor(POLY_OPA_DISP++, 175, 255, 0, 255);

if (grassActor->grassIdentity.randomizerCheck != RC_MAX &&
Flags_GetRandomizerInf(grassActor->grassIdentity.randomizerInf) == 0) {
gSPGrayscale(POLY_OPA_DISP++, true);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little conflicted about the current way to identify grass. On one hand I'd really like to see a custom model for this, as the sickly green honestly just doesn't look that great and is quite easy to miss too. On the other hand, I'm not entirely sure if I'd bar this from getting in simply because of it.

Would you mind asking in the development channel on discord if someone is up for making a custom model? I've received one idea from someone else that maybe adding a grass patch with a flower could be used to indicate an item (and later on, the flower could identify what type of item). The only question mark I have about this is how the model for the regrowing grass works.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll ask tomorrow. I do agree it doesn't look good at all. Was just that I don't have the skillset to do more :D

I'll check the regrowing grass again, but I believe it's 2 parts; the fully grown grass and the cut one. When the regrowing happens all it does is replacing the cut with the fully grown at a reduced scale and runs an animation which brings it back to full scale.

@aMannus
Copy link
Contributor

aMannus commented Feb 3, 2025

Sidenote, according to @A-Green-Spoon there's now a stack overflow that's present in the latest builds. This apparently has to do with simply the amount of locations we have now, and he ran into it himself when trying to make shuffle crates a reality. Are you running into this yourself as well by any chance?

@A-Green-Spoon
Copy link
Contributor

Sidenote, according to @A-Green-Spoon there's now a stack overflow that's present in the latest builds. This apparently has to do with simply the amount of locations we have now, and he ran into it himself when trying to make shuffle crates a reality. Are you running into this yourself as well by any chance?

In Debug only, to be clear - the runner builds work fine.

@Varuuna
Copy link
Contributor Author

Varuuna commented Feb 3, 2025

Sidenote, according to @A-Green-Spoon there's now a stack overflow that's present in the latest builds. This apparently has to do with simply the amount of locations we have now, and he ran into it himself when trying to make shuffle crates a reality. Are you running into this yourself as well by any chance?

Not that I can recall. But I can keep an eye out.

#include "overlays/actors/ovl_En_Kusa/z_en_kusa.h"
#include "objects/gameplay_field_keep/gameplay_field_keep.h"
#include "objects/object_kusa/object_kusa.h"
extern PlayState* gPlayState;
Copy link
Contributor

@aMannus aMannus Feb 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disagree on this one, we don't do this in other places of the code either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants