PhlexPlexico / mm3dr

A randomizer for Majora's Mask 3D on the Nintendo 3DS
Other
50 stars 8 forks source link

Project Restoration Implementation? #15

Closed Luigimeansme closed 1 year ago

Luigimeansme commented 2 years ago

Is this planned to work alongside or feature the same upgrades as Leoetlino's Project Restoration? (Link: https://restoration.zora.re/ ) The upgrades to the game with this mod make an already great game even better and I'd love to see if this has the same features or allows Project Restoration to stay installed

PhlexPlexico commented 2 years ago

Heya!

There are actually a handful of fixes I've brought in from the patch as well, actually. Here's a list that can be grabbed from the Linkerscript file located incode/mm.ld:

As for bringing in more changes and whatnot - I'm going to say what I've said prior to in the OoT3DR Discord. There are a myriad of things that I do not wish to include in this project (as of right now) as it takes away from the way the game was meant to be played. Project Restoration aimed to restore a bunch of things that the old game had, to make it feel truly like a "Remake". However, I feel MM3D still should be considered it's own game and not just a simple remake with new textures, With its various quirks (if you can call them that) such as bosses, and some mechanics in game that were changed. I feel there are some QoL changes that can be included, but do take considerably more effort and are still bugged, like quick mask changing and arrow swapping.

What I currently have in the project is all I currently have planned to incorporate into this, as I would still like the game to be separate from the original.

Since these are both patches of the game, you will not be able to run it alongside with restoration, as it would just override the patch. I'm always open to reasoning for including some of those patches, but simply "because it's in the original" doesn't make much sense, especially when they are considered changes and not bugs (like bosses). And PRs are welcome to patch those things as well!

Thanks!

Luigimeansme commented 2 years ago

The bosses I can totally agree with, but some changes done to them are done to ease frustration (like making it so the red Twinmold doesn't recover health every time he goes underground). Other changes I think should remain if at all possible are skipping the replays on Song of Soaring and Elegy of Emptiness, and the button layout allowing for every single function to be done without needing the touch screen, making it easier to play on Citra especially, plus having quick and easy access to the masks and Ocarina

PhlexPlexico commented 2 years ago

Re bossses - I think I can see the HP not restoring for Twinmold, and I believe that one shouldn't be too hard in changing.

However, with controls, I'm not sure if you've come across several implementations of allowing touch screen inputs for buttons, such as rehid for the 3DS, and I know you can change the button configuration on citra as seen here.

As for the skipping replays, I did not know that was a thing. Depending on how its implemented it may be easy, if not it would be extremely low priority to the point where someone else may have a better chance at taking a stab at it and creating a pull request for it :)

E: Looking at it, it seems to rewrite a good chunk of soaring code, which I was planning to avoid doing. PRs are welcome to convert what leo did with Magikoopa to LinkerScript, but right now it is definitely not in scope for this project.

Thanks!

WaterMelon4938 commented 2 years ago

When this is released will it work with Project Restoration or will I have to uninstall Project Restoration before I can use the randomizer?

PhlexPlexico commented 2 years ago

No, it will not work with project restoration. As mentioned above -

Since these are both patches of the game, you will not be able to run it alongside with restoration, as it would just override the patch. I'm always open to reasoning for including some of those patches, but simply "because it's in the original" doesn't make much sense, especially when they are considered changes and not bugs (like bosses). And PRs are welcome to patch those things as well!

Making any of these changes "optional" I think is not possible either, since they are more assembly patches than just regular C++ patches (like faster Deku movement, for example). And to top it off, this is way lower priority because the main objective for this right now is to get the core pieces working (i.e. item randomization, item spawns, correct freestanding item models).

WaterMelon4938 commented 2 years ago

Oh yeah that makes sense.