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

New setting: Add dig spot visuals to "hidden" dig spots #374

Open
mike8699 opened this issue Aug 7, 2023 · 6 comments
Open

New setting: Add dig spot visuals to "hidden" dig spots #374

mike8699 opened this issue Aug 7, 2023 · 6 comments
Labels
optional-setting An optional randomizer setting that isn't necessarily needed for an initial version

Comments

@mike8699
Copy link
Contributor

mike8699 commented Aug 7, 2023

An optional randomizer setting that adds a visual cue on the spots to dig that aren't obvious (like on Maze Island)

@mike8699 mike8699 added the optional-setting An optional randomizer setting that isn't necessarily needed for an initial version label Aug 7, 2023
@NQNStudios
Copy link

This sounds like it might be a good first issue. I'm guessing it would take the form of a base ROM patch. Are the level maps in the game, despite rendering as 3D, represented as tile maps where you would just change the tiles at the right coordinates to be the funky "dig here" tile? Is there tooling for inspecting the tile maps in the rom and generating patches?

I'm re-playing the game vanilla to remember everything I forgot since the only time I played it was right when the game came out. So far I've encountered one secret dig spot, which is the intersection of the stone tablets on Molida Island. Can someone with more knowledge make a checklist of all such spots?

@NQNStudios
Copy link

also on the island with the hideaway dig spot, it looks like there must be another hidden dig spot that lets you drop down for this chest:

unnamed

But I haven't found it yet.

@NQNStudios
Copy link

NQNStudios commented Nov 25, 2023

Well the closest I've come so far to figuring out how maps are represented is this:

https://kuribo64.net/board/thread.php?pid=79806#79806

Apparently it's not as simple as an array of tiles.

@mike8699
Copy link
Contributor Author

I think you're on the right track, it's highly likely that this is something controlled by the ZMB files. If I had to guess, it's probably a flag on the actor (each dig spot has an actor entry in the "NPCA" section of a ZMB file, with the id DGTG).

As for how maps are represented - there's still some unknowns, but the TLDR is you can use this script https://github.com/phst-randomizer/ph-randomizer/blob/main/scripts/generate_maps.py to generate a rough 2D image of a map's layout, including all the map objects and NPC actors.

For the purposes of this specific issue as it relates to the randomizer though, it's probably fairly straightforward to do once we figure out how the "dig here" tile is rendered (which I suspect is a flag on the DGTG object, or something to that effect). It's just a matter of priorities; we still don't have a fully functional item randomizer, so things like this which are more "nice to have" than "required" have been relegated to the backlog. That being said, if you are interested in pursuing this yourself, I'm happy to provide some more concrete pointers about how the dig spot "actors" work and how to integrate a patch for this into the randomizer.

@mike8699
Copy link
Contributor Author

mike8699 commented Nov 26, 2023

also on the island with the hideaway dig spot, it looks like there must be another hidden dig spot that lets you drop down for this chest:

But I haven't found it yet.

That one is located right after the sun key door; we have that encoded in the logic here. Here's a timestamped link to a youtube playthrough showing it - https://youtu.be/TPQg_ydApmU?feature=shared&t=805

@mike8699
Copy link
Contributor Author

Oh whoops, that's actually a different chest. Hmm, I'll have to double check that we have this in the logic...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
optional-setting An optional randomizer setting that isn't necessarily needed for an initial version
Projects
None yet
Development

No branches or pull requests

2 participants