[OTR Archive] Move shared scenes out of nonmq/mq folders#3191
[OTR Archive] Move shared scenes out of nonmq/mq folders#3191garrettjoecox merged 9 commits intoHarbourMasters:developfrom
Conversation
|
i vote yes we do it it sounds like a really good idea |
|
I also vote yes, the alignment PR now merged and this PR would indeed make things way easier for textures packs makers |
|
I have elected to use a regex pattern in OTRExporter and ZAPDTR to filter for only explicit scenes that will have MQ variants (this makes it so theives hideout and ganons collapse considered shared scenes). |
briaguya0
left a comment
There was a problem hiding this comment.
one non-blocking comment
![]()
| int16_t inNonSharedScene = (sceneNum >= SCENE_DEKU_TREE && sceneNum <= SCENE_ICE_CAVERN) || | ||
| sceneNum == SCENE_GERUDO_TRAINING_GROUND || sceneNum == SCENE_INSIDE_GANONS_CASTLE; |
There was a problem hiding this comment.
i feel like we do something similar in quite a few places throughout the codebase. i know changing the scene order would break things, but i think it'd be nice to come up with a reusable reliable source of truth for stuff like "is this scene a dungeon" and "is this scene the same in mq and vanilla"
that feels like code cleanup and out of scope for this PR though
There was a problem hiding this comment.
Yeah, some of them are dungeons + bosses, or all of ganons scenes instead of just the trials part. So those aren't useful here. But agree overall that we can try to clean up and move those to a similar location.
634a8c0 to
82b66d5
Compare
This is a PoC and request for comment on the possibility of moving shared scenes between
mqandnonmqto a new common folder in the OTR calledshared.After the work from #3161, all roms should have the same exact "name" for the same textures (aligned with MQ debug names), so moving the common scenes to a shared location will cut down the amount of duplicate textures that a texture pack maker has to implement.
Although texture names are synced, other resource types do not share names yet (DList, VTX, etc). Currently this is not an issue as OTR patching would just place the mq ones side by side the nonmq ones, and nonmq will have the higher priority so scenes will load fine. Synchronizing these names will only really matter once scene editing support via mod OTRs becomes available, so I don't consider that a blocker for this proposal.
The way this is handled is the xml definitions already has a breakdown of
dungeons,indoor,overworldandmiscscenes. So rather than applying thenonmq/mqdivide to "all" themes, I have moved the split to apply only to the scenes defined in thedungeonsfolder, and the rest now are placed under thesharedfolder.Something to note is that the
dungeonsfolder has more than just the actual MQ dungeons, it also includes Thieves' Hideout, Boss rooms, Outside Ganon's Castle, and Ganons Tower/Castle Collapse. We could technically move these xml definitions out to another folder to further reduce the common scenes. Alternatively we could build a map of the scenes we want split, but this map would need to exist both in ZAPD and OTRExporter.EDIT: I've decided to use regex to search for the explicit dungeons (as seen in OTRExporter/ZAPDTR PRs)
Depends on HarbourMasters/ZAPDTR#16
Depends on HarbourMasters/OTRExporter#11
Build Artifacts