Coder Social home page Coder Social logo

zoeyzolotova / mm-rando Goto Github PK

View Code? Open in Web Editor NEW

This project forked from az64/mm-rando

165.0 165.0 60.0 17.37 MB

Item, music, enemy randomiser for Majora's Mask

License: GNU General Public License v3.0

C# 70.72% Makefile 0.03% Python 0.59% C 17.90% Assembly 10.69% Dockerfile 0.05% Smalltalk 0.03%

mm-rando's People

Contributors

amazingampharos avatar aroenai avatar az64 avatar beardsleymj avatar flagrama avatar isghj5 avatar junglechief87 avatar kjelli avatar krimtonz avatar mzxrules avatar nlangille avatar phixtyseven avatar rebbacus avatar saneki avatar teknoanonymous avatar wulfy83 avatar zannick avatar zmarotrix avatar zoeyzolotova avatar zymus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mm-rando's Issues

Suggestion: Place "Build" section in the README

Documentation regarding how to build and run the randomizer on different platforms (at least Windows and Mac) would help improve accessibility, and enable users to test new releases.

Most repositories place this in the README under a "Build" or "Installation" section. 👍

Custom item list causing most seeds to fail

Settings: 4suj-4-9y6ww-3
Item List: 3-e10000f9-c0038003-f8000000-ffffff-ffa00000--20041f
Version: 1.5.1.4

Was trying to do a weird seed with dungeon/mini-dungeon items randomized but for some reason, almost every seed gives an error saying it can't place one of the items

Suggestion: Move GitHub repository to an Organization

Suggestion: Move GitHub repository to an Organization

As of today, our very own Zoey is the sole owner of the repository that many developers are pushing code into. It is a growing codebase with changes happening in every corner, and I think it is too heavy for one individual's responsibility to maintain, test, review and be responsible for its entirety.

A way to ease the burden of being a one-woman-army is to move the project into an organization

Why?

As of now, there are pull requests which are getting stale, and the amount of work to go through them all is a daunting task for any one individual. The community is thriving, with both players and developers, and as such, we should avoid the very common open source phenomena that is the burnout™.

What difference does an organization make?

From https://help.github.com/en/articles/about-organizations

The ability to give members a range of access permissions to your organization's repositories

This gives the opportunity for a select group of dedicated spirits to loadbalance the work amongst themselves. Distributed rights for reviewing, and maintaining. There's already a group of candidates on Discord, e.g. the moderators and the developers, which I am sure some will volunteer to share the responsibility. Anyone outside the organization can still submit pull requests.

Organizations are shared accounts where businesses and open-source projects can collaborate across many projects at once. Owners and administrators can manage member access to the organization's data and projects with sophisticated security and administrative features.

Among the options, I recommend this one:

A free option, GitHub Team for Open Source, with unlimited collaborators on unlimited public repositories

How?

This post is long enough, here's how: https://help.github.com/en/articles/transferring-a-repository

Isn't this overkill? Can't Zoey just add contributors to this repository?

Maybe. That would work too, but even then she'd still be singlehandedly responsible for certain areas of the project.

Fierce Deity Mask Removed from Inventory After Trading all 20 masks with the 4 Kids on The Moon and talking to the kid with Majora's Mask. WTF!?

Okay so when you give all the masks to the kids on the moon and the kid wearing the Majora's Mask gives you a randomized item (Piece of Heart), it seems to remove the Fierce Deity Mask for whatever reason when I played the Song of Time inside the room where you fight Majora and upon resetting via SoT to Day 1, it was gone from my mask inventory! The other 23 masks were still in my inventory but the Fierce Deity Mask was not. I went back to the randomized location where I got the mask, but unfortunately, I only got a blue rupee this time. I'm playing an older seed of this, so it might've been fixed in later releases.

Short emulator freeze on Dolphin's Virtual Console when going through doors using "Vanilla Layout"

There is a freeze issue on the Virtual Console (Dolphin emulator) when going through a door. This lasts a second or so. Using the CPU Clock Override through Dolphin diminishes the time needed for the emulator to continue again, but... It's not ideal. It's not an issue on Project64 through. It seems the game freezes the Dolphin emulator to do some calculations before being able to continue once again, which the Virtual Console can not seem to handle very effectively, hence, the delay / freeze / pause.

The bug does not affect doors within dungeons, but does affect for example the doors in the Great Bay Skulltula House, but only once (when re-entering) since the map stays loaded in the ROM or something. Doors that change the scene will keep causing the delay / freeze every single time.

This issue only occurs when the "Vanilla Layout" is chosen as the Mode/Logic since MM Rando v1.12.0.10. So that means using "Vanilla Layout" on MM Rando v1.11.0.7 is fine. The updates after v1.12.0.10 are still broken as I tested MM Rando v1.12.1.0 in the "Vanilla Layout". I don't get why, but "Vanilla Layout" changes something the Virtual Console does not like, while the other options like "Casual" still work perfectly as they should when opening doors. You can test the issue with any door in Clock Town (such as the Treasure Chest Shop).

Somehow MM Rando did something differently since v1.12.0.10. I do not know if it's the way how doors are being handled or how the scene itself being loaded. The weird thing is, changing the scene by anything other than a door does NOT cause a freeze, like traversing through the different parts of Clock Town.

The Redux project for Majora's Mask (https://github.com/MarocZan/Majora-s-Mask-REDUX) is based on v1.12 of the Randomizer, which means Redux inherits the issue as well.

.NET CLI tool not working on Mac

Versions

MMR v1.11.0.7
.NET v3.1.201

Error description

I've been attempting to create a randomized run on my Mac using the CLI tool and have run into a series of issues (the last of which has halted progress entirely). I'll list them out in order to try to enhance the tool. 👍

  1. After running dotnet MMR.CLI.dll on a fresh install, I got:
>>> dotnet MMR.CLI.dll

Default settings file not found. Generating...
Generated settings.json. Edit it to set your settings.
Invalid custom item list.

I don't imagine the default item list is deliberately invalid. I cross-examined it with the settings.json on my Windows machine, and found that there were three fields missing:

...,
"CustomItemListString": "------------",
"CustomStartingItemListString": "--",
"CustomJunkLocationsString": "------------",
...
  1. After fixing that, I got the following:
>>> dotnet MMR.CLI.dll

Error building ROM: The type initializer for 'Gdip' threw an exception.

Please contact the development team and provide them more information

If there's a higher debugging level that I have access to you'd like me to run, I'd be happy to help! Unfortunately there isn't much more in way of logs that I can pass on at the moment.

Entrance Randomizer HTML Spoiler Log Bugs

I have been playing this randomizer and wanted to try out the dungeon entrance randomizer. Since I use the html spoiler log as my tracker I have noticed a few logic bugs with what is available and what isn't. First, the tracker told me that I had access to Woodfall's entrance when I got access to the area, but I didn't have the sonata of awakening so I don't know why it was activated. Also around that time I had access to the Snowhead entrance but it wasn't told as accessible so I don't know why it acts like that. Also when I beat great bay which was in Snowhead it cleared the snow of the mountains but the HTML log said I cleared the waters of which didn't happen. Attached is the spoiler log along with tracker codes which should display this problem and help find a solution. I don't know if I can send a save but I know I can't send a rom so I hope you can generate a duplicate if need be.
2021-06-02T20-38-55.4974758Z_SpoilerLog.txt
Tracker code as of last night, demonstrates first issue: 2e1-4c41-162d-1a3-411e-c011-8-1-0-fff8-7-800f-601f-1187-fff8-e021-b-c03c-fcbf-fff-0-400-0-a00-2-d980-e11-0-0-0-0-0-0-0-0-0
Tracker code as of writing this post, demonstrates second issue: 2e1-5c47-162d-1a3-4d3e-c215-49-1-f00-fff8-7-800f-e01f-31e7-fff8-e821-b-cdfc-fcbf-fff-0-400-0-fe00-ff-d980-e11-0-0-0-0-0-0-0-0-0
Edit: I am using version 1.13.0.13 so if this was fixed in a dev build then disregard this issue.

Garo mask locked in stone tower death armos puzzle, ikana inaccessible

Version: 1.12.0.11
Settings: {"AddStrayFairies":true,"AddSkulltulaTokens":false,"UpdateShopAppearance":true,"SpeedupLabFish":false,"UserLogicFileName":"","UseCustomItemList":false,"CloseCows":true,"ArrowCycling":true,"CritWiggleDisable":true,"DrawHash":true,"FastPush":true,"UpdateWorldModels":true,"OcarinaUnderwater":true,"QuestItemStorage":true,"LogicMode":"Casual","EnabledTricks":[],"AddSongs":true,"AddDungeonItems":true,"AddShopItems":true,"AddMoonItems":false,"AddFairyRewards":true,"AddOther":true,"AddNutChest":false,"CrazyStartingItems":true,"AddCowMilk":false,"AddMundaneRewards":false,"RandomizeBottleCatchContents":false,"ExcludeSongOfSoaring":true,"RandomizeDungeonEntrances":false,"RandomizeEnemies":false,"NoStartingItems":false,"CustomItemListString":"------------","CustomStartingItemListString":"--","CustomJunkLocationsString":"------------","DamageMode":"Default","DamageEffect":"Default","MovementMode":"Default","FloorType":"Default","ClockSpeed":"Default","HideClock":false,"BlastMaskCooldown":"Short","EnableSunsSong":false,"AllowFierceDeityAnywhere":false,"ByoAmmo":false,"DeathMoonCrash":false,"ShortenCutscenes":false,"QuickTextEnabled":false,"Character":"LinkMM","GossipHintStyle":"Relevant","FreeHints":true,"ClearHints":false,"PreventDowngrades":true,"UpdateChests":true,"FixEponaSword":true,"SpeedupBeavers":false,"SpeedupDampe":false,"SpeedupDogRace":false,"SpeedupBank":false}
Seed: 556386693

Ikana could not be accessed without Garo mask, but the mask is locked inside stone tower (Death armos maze chest).

Suggestion: Change title deed icons to distinct unique icons instead of palette swaps

Currently, title deed icons are different colored variants of the same icon. While this makes sense from a ROM size perspective, this makes the game less accessible to color-blind individuals as they cannot distinguish, at a glance, which deed is which, as color-sighted people can. I propose that each deed have its own icon with some symbolic distinction from one-another.

Spoiler Log should have distinct item names and location names.

It seems that most people find the spoiler log format confusing. In my opinion, the main reason is that item names and location names are mixed together. In the TEXT log, the >> symbol is unclear to most users what it means. X >> Y means "Item at location X moved to location Y". But this is confusing when the location is named after the item at that location.

Examples
"Keaton Mask >> Stone Mask" means the Keaton Mask is now given to you by the injured invisible soldier. It should be displayed as "Invisible Soldier: Keaton Mask".
"Fire Arrow >> Light Arrow" should be "Light Arrow Chest: Fire Arrow".
"PR 20r (1) >> Rosa Sisters HP" should be "Rosa Sisters: Red Rupee"
"Rosa Sisters HP >> PR 20r (1)" should be "Pinnacle Rock Upper Chest: Heart Piece"

I'm not sure what changes need to be made to the HTML spoiler log yet. Will need to think about it.

Postman HP Logic - Wrong Available Times

The postman minigame is not available on the second day in the N64 version of Majora's Mask. It is only available on the second day in the 3DS version (3-6 pm on 1st and second day).

In the N64 version, the postman minigame is from 3pm to midnight on the first day, and not the second day - unless if you deliver the Letter to Kafei, in which case he is training from 5pm to midnight on the second day.

It's quite likely that the IGN guide was used to determine when the postman is available. IGN does not understand that there are important differences between Majora's Mask and Majora's Mask 3D, to the point that they refer to the 3DS version as "Majora's Mask," not "Majora's Mask 3D".

Suggestions regarding time dependance

The way time dependence works in the current logic system, each item can be Available On Day 1, Night 1, ..., Night 3, and each item can be Needed On Day 1, Night 1, ..., Night 3. This is logically consistent, in that no check with restricted Availability should ever require a temp item that is only Available after the original item ceases to be Available.

As far as I can see, this system works, but it could benefit from both having features added and removed.

Added: Conditional time availability. An example of why this is nice is Doggy Racetrack chest. It is currently only marked as Available on Day&Night 3. While that is certainly true, it's a bit strange, since the entire point of Romani Ranch is that you can access it starting Day 1, but you need items (casually, Powder Keg) to do so. Thus, if the seed has already given you a way into Romani Ranch from Day 1, then it should also be able to place something Needed on Day 1 there. This could be done without much workaround by introducing an item called e.g. "Time dependence", which you could add as Required or Conditional on any check. Picture says more than thousand words, so it would look like this:

Alternatively, just have no time-dependence UI at all if "Time dependence" hasn't been added to the current item, or simply don't add the "Time dependence" item, but tie the time-dependence UI to each Required/Conditional line - this does the same job, but might be a bit harder to read. This change will also have a large number of additional applications for glitched logic, where you can often conditionally bypass ordinary timing limitations given sufficient items to perform the relevant glitches.

Added: If time-dependence mechanics get tweaked, one might as well make it more precise. "Day 1" is very broad, while MM has many events that happen at very specific times. I'd like to see the time dependence split into hours (72), quarter-hours (288) or five-minute intervals (864) - this is still not so much information as to take up significant memory. Since most intervals are not very complicated, just writing down the intervals in format 1:12:34-1:23:45/2:00:00-2:11:11 could work as well. UI might need to be changed, so I'd see why it would be very low priority.

Removed: The "Needed on" part of time dependence can, in fact, safely be removed. All a check needs to do is verify that the earliest time all required items collectively become available is earlier than the latest time this item is available - that is, "Available on" information is already enough to determine when all items need to be, well, available. Not very many checks use this, anyways. I realize this actually requires small workarounds for checks where you need to hand in something before the check itself becomes available (e.g. you need to post Letter to Kafei a fair bit before the check itself takes place), but this is easily doable with logic. As removing this would basically just be clean-up, it's really no big deal either way.

Together, the above suggestions would (1) broaden the current set of possible layouts for the rando, and (2) lay a huge part of the groundwork needed for a future entrance rando system that is fundamentally compatible with non-entrance rando, potentially allowing seeds of both kinds to be generated from the same logic.

I would also like to volunteer for the actual logic editing work, which would be necessary if any of the above were to be implemented - though I cannot contribute meaningfully to the code itself, editing logic is certainly doable.

Item Priority Problem

There seems to be an issue where items have priority over each other. For example, if you get the mirror shield, and then find the hero shield, you lose the mirror shield. Same goes for the different sized wallets, and for the different sized bomb bags and arrow quivers. This causes softlocks where you may not be able to get the item back. Is there even a fix for this?

UI Freezes while ROM is building.

When building the ROM, there's no indication to the user that anything is happening, other than the UI not responding.

Would be great to have some kind of feedback to the user that the build is happening. If build progress information is possible, that should be included. UI interaction should of course be disabled though, just the window should not freeze.

Mikau only possible once.

So this seed, Mirror Shield came from Mikau. Later on, I found a Hylian Shield and downgraded (Seriously, when will this no longer be a thing?) I thought no problem, just get back there and heal him again. Nope, I pushed him to shore, the cutscene where he walked and fell didn't play (though he still did that) and when I played the song, nothing happened. I made a savestate just in case and left the area, came back and talked to him to hear his final message and the game softlocked.

Soooo yeah, probably best to forbid certain items from Mikau if it can't be fixed.

NVM

NVM, please delete, sorry 😭

Deku Mask unobtainable?

Casual/Glitchless

Item Location
Deku Mask >> Bombers' Notebook

I may be mistaken, but since you need to be wearing the Deku Mask when you talk to Jim in order to typically receive the Bombers' Notebook, would this not make the Deku Mask unobtainable?

Suggestion - more casual keysanity

It was most likely suggested before but an option to randomize dungeon items with everything else but keys wont disappear from your inventory when you play the song of time (like the fairy sanity option).
It will be great to be able to play keysanity without the need to physically write down where every key is.
I am aware its kinda changing the whole game idea, but we are playing a weird rom hack of it, we kinda already changing the game already.
i would like to try keysanity, because without it every dungeon barely have any items in it - its all dungeon items and they are barely worth visiting while casually playing because most of the stuff are in the overworld.
It will be a pretty nice option to pick that dungeon items wont reset with the other items while playing song of time while having keysanity on.

Hot Spring Water unobtainable in some seeds.

Spoiler Log says

Bottle: Hot Spring Water                 >> Bottle: Hot Spring Water
Bottle: Zora Egg                         >> Bottle: Hot Spring Water

and Indextic confirmed in-game that HSW was Zora Egg, and Zora Egg was also Zora Egg.

Suggestion: Exclude Locations From Logic

Title explains. Some emulators and/or graphics plugins don't handle the Lens of Truth properly, so it would be nice to be able to exclude the Goron Mask location from logic so as to prevent progression items from being present there.

Also, it would allow the two Shooting Gallery's prizes to not be progression items (I speak for a lot of fans when I say that the Town Shooting Gallery in particular is not worth the time in race environments).

Thanks for your consideration!

60fps or 30fps Mod

It is possible to mod Majora's Mask to run in 60fps. Although this produces some minor issues (mostly that item animations do not run at 60fps), it would be a nice option since the game really does look so much better at either 30 or 60fps.

I do not know enough to tell you how to patch the file per-say, but the following will give you the ability to find the value you need to change:

  1. Open Project64 and enable the debugger (enable advanced settings first)
  2. At the title screen, search for an 8-bit value that starts at 1 (you will need to increase the max results considerably)
  3. When in-game, search these results for a value that changes to 3
  4. Pause the game and see which of these values then changes to 2

Then, once you've identified some candidates (you may get between 3-10 results), go ahead and change them one-by-one to the value 1 and you can identify the fps mode variable. You will find that the game now runs at 60fps.

Not enough magic beans

According to my spoiler log, only 3 locations give out 1 bean each. However, the first door in the Ikana Well requires 5 beans. I had to use cheats to get through it. Bottlesanity also seems to have cause some issues, as Deku Princess was the only way to get Bugs, which I needed to get the boss key to get deku princess in the first place.

Suggestion: settings tooltips

Add tooltips for checkboxes / dropdowns and provide more information for setting-specific behaviour?

E.g. (hover over) Exclude Song of Soaring 🔲 -> Keeps the Song of Soaring out of the randomization, leaving it in the same place you would normally find it (aka vanilla)

The settings make sense to us, but do they for everyone?

[Suggestion] Change Ocarina's instrument icon, name and description depending on Link's form

This was originally a feature that was removed from the Japanese v1.0 release of Majora's Mask, as said version had the assets and all for the other instruments (Pipes, Drums and Guitar) in place:
https://tcrf.net/The_Legend_of_Zelda:_Majora%27s_Mask/Unused_Items#MM_.28J.29_1.0_Only_2

This very features was dropped from the Japanese v1.0 version, with the assets being leftovers and not coded in.
However, later on this same feature would be taken and reimplemented back into the release of Majora's Mask 3D, where the Ocarina of Time changes depending on what form Link is in.

For example, if Link is in his normal human (or Fierce Deity) form, the item that would show up in the Subscreen icon, HUD C-Button icon, Subscreen item text name and Subscreen description text box (alongside the description icon) should be the Ocarina of Time, as normal.
When Link transforms into a Deku, the Ocarina of Time should automatically change to the Deku Pipes in icon (Subscreen and HUD), item text name and item description.
Same applies for Goron and Zora, with Goron Drums and Zora Guitar, respectively.

It'd be interesting to be able to reimplement such a feature to the original N64 title, as it was originally intended.

I have already made a custom patch that implements the new Ocarina icons into the game, alongside their proper text description (with icon) and their item name in Subscreen:
https://www.dropbox.com/s/o4w0vrf4mzryyo6/OcarinaInstruments.bps?dl=0

Apply over a Majora's Mask v1.0 US ROM:
CRC32: b428d8a7
MD5: 2a0a8acb61538235bc1094d297fb6556

What the current implementation does at the moment, is that it replaces unused items in the game for the new instruments, like the Slingshot (Item ID $0B), the Blue Fire (Item ID $1C) and the Hylian Loach ($26).
If one tries out the patch posted above, and tries changing an item with a cheat code to change whatever item to any of those 3 mentioned, you will be able to see the 3 new instruments in-game, with everything in place (Item icon in Subscreen, item description with their proper textbox icon, and item name gfx).

As for the documentation, I have added it all to a repo I made exclusively for all the modifications I've been doing to both OoT and MM. First off, here's a .txt to import the custom Ocarina Icons for both Subscreen/HUD and their item names
https://github.com/ShadowOne333/Zelda64-Redux-Documentation/blob/master/Majora's%20Mask/OcarinaIcons.txt#L22-L70
And the yaz0 graphics to import can be found here:
https://github.com/ShadowOne333/Zelda64-Redux-Documentation/tree/master/Majora's%20Mask/Redux%20Assets/Ocarina%20Icons
For the custom text, I reworked the entirety of MM text and added space for the new descriptions for each instrument, based on the same text that appears in Majora's Mask 3D, and taking the Ocarina Of Time description as base for the second paragraph:
https://github.com/ShadowOne333/Zelda64-Redux-Documentation/blob/master/Majora's%20Mask/Redux%20Assets/Text/Area%20Titles.txt#L23-L30

Here's a topic I made at Romhacking regarding such hack:
https://www.romhacking.net/forum/index.php?topic=31054.0

A user from Discord, punk7890, made a cheat code that works partially with this implementation.
However, the code itself still presents some issues:

  1. If you have the Ocarina equipped in any of the C-Buttons, then change form, the Ocarina icons remains in the HUD, instead of changing to the other instruments' icon.
  2. Tested all 3 forms, then re-selected/re-equipped the proper instrument from the Subscreen. While Goron and Zora do recognize the item as the Ocarina when used, the Deku Pipes (or any of the other instruments, including the Ocarina) instead cannot be used at all, appearing as blacked out item when in Deku Link form. In other words, right when you become Deku Link, you cannot play any instrument at all, not even the original Ocarina if equipped in a C-Button.
  3. If you have the instrument equipped as a C Button, and then go to the Subscreen, the game detects other items (marked with a white square) as if they were the ones equipped in a C-Button, instead of always being the Ocarina/instrument the one marked as equipped:
    Deku Pipes equipped -> Blank item selected in the item column where the Title Deeds/Moon Pearl are
    Goron Drums equipped -> Great Fairy Mask selected as if it was equipped
    Zora Guitar equipped -> Kafei Mask selected as if it was equipped]
Partially working Ocarina Switching Gameshark Cheat Code for Majora's Mask v1.0 (USA) (Click to expand)

Ocarina Switching (MM v1.0 U) by punk7890

Replace item properties:
D0779E2C 0014
80779E37 0014
D0779E2C 0014
80779E48 0014
D0779E2C 0014
80779E52 0014

Young Link:
D01EF690 0004
801EF6E0 0000
D01EF690 0004
D01EF6BD 000B
801EF6BD 0000
D01EF690 0004
D01EF6CD 000B
801EF6CD 0000
D01EF690 0004
D01EF6BE 000B
801EF6BE 0000
D01EF690 0004
D01EF6CE 000B
801EF6CE 0000
D01EF690 0004
D01EF6BF 000B
801EF6BF 0000
D01EF690 0004
D01EF6CF 000B
801EF6CF 0000
D01EF690 0004
D01EF6BD 001C
801EF6BD 0000
D01EF690 0004
D01EF6CD 001C
801EF6CD 0000
D01EF690 0004
D01EF6BE 001C
801EF6BE 0000
D01EF690 0004
D01EF6CE 001C
801EF6CE 0000
D01EF690 0004
D01EF6BF 001C
801EF6BF 0000
D01EF690 0004
D01EF6CF 001C
801EF6CF 0000
D01EF690 0004
D01EF6BD 0026
801EF6BD 0000
D01EF690 0004
D01EF6CD 0026
801EF6CD 0000
D01EF690 0004
D01EF6BE 0026
801EF6BE 0000
D01EF690 0004
D01EF6CE 0026
801EF6CE 0000
D01EF690 0004
D01EF6BF 0026
801EF6BF 0000
D01EF690 0004
D01EF6CF 0026
801EF6CF 0000

Deku Link:
D01EF690 0003
801EF6E0 000B
D01EF690 0003
D01EF6BD 0000
801EF6BD 000B
D01EF690 0003
D01EF6CD 0000
801EF6CD 000B
D01EF690 0003
D01EF6BD 001C
801EF6BD 000B
D01EF690 0003
D01EF6CD 001C
801EF6CD 000B
D01EF690 0003
D01EF6BD 0026
801EF6BD 000B
D01EF690 0003
D01EF6CD 0026
801EF6CD 000B
D01EF690 0003
D01EF6BE 0000
801EF6BE 000B
D01EF690 0003
D01EF6CE 0000
801EF6CE 000B
D01EF690 0003
D01EF6BE 001C
801EF6BE 000B
D01EF690 0003
D01EF6CE 001C
801EF6CE 000B
D01EF690 0003
D01EF6BE 0026
801EF6BE 000B
D01EF690 0003
D01EF6CE 0026
801EF6CE 000B
D01EF690 0003
D01EF6BF 0026
801EF6BF 000B
D01EF690 0003
D01EF6CF 0026
801EF6CF 000B
D01EF690 0003
D01EF6BF 001C
801EF6BF 000B
D01EF690 0003
D01EF6CF 001C
801EF6CF 000B
D01EF690 0003
D01EF6BF 0000
801EF6BF 000B
D01EF690 0003
D01EF6CF 0000
801EF6CF 000B

Goron Link:
D01EF690 0001
801EF6E0 001C
D01EF690 0001
D01EF6BD 000B
801EF6BD 001C
D01EF690 0001
D01EF6CD 000B
801EF6CD 001C
D01EF690 0001
D01EF6BD 0000
801EF6BD 001C
D01EF690 0001
D01EF6CD 0000
801EF6CD 001C
D01EF690 0001
D01EF6BD 000B
801EF6BD 001C
D01EF690 0001
D01EF6CD 000B
801EF6CD 001C
D01EF690 0001
D01EF6BD 0026
801EF6BD 001C
D01EF690 0001
D01EF6CD 0026
801EF6CD 001C
D01EF690 0001
D01EF6BE 000B
801EF6BE 001C
D01EF690 0001
D01EF6CE 000B
801EF6CE 001C
D01EF690 0001
D01EF6BE 0000
801EF6BE 001C
D01EF690 0001
D01EF6CE 0000
801EF6CE 001C
D01EF690 0001
D01EF6BE 0026
801EF6BE 001C
D01EF690 0001
D01EF6CE 0026
801EF6CE 001C
D01EF690 0001
D01EF6BF 0026
801EF6BF 001C
D01EF690 0001
D01EF6CF 0026
801EF6CF 001C
D01EF690 0001
D01EF6BF 0000
801EF6BF 001C
D01EF690 0001
D01EF6CF 0000
801EF6CF 001C
D01EF690 0001
D01EF6BF 000B
801EF6BF 001C
D01EF690 0001
D01EF6CF 000B
801EF6CF 001C

Zora Link:
D01EF690 0002
801EF6E0 0026
D01EF690 0002
D01EF6BD 0000
801EF6BD 0026
D01EF690 0002
D01EF6CD 0000
801EF6CD 0026
D01EF690 0002
D01EF6BD 000B
801EF6BD 0026
D01EF690 0002
D01EF6CD 000B
801EF6CD 0026
D01EF690 0002
D01EF6BD 001C
801EF6BD 0026
D01EF690 0002
D01EF6CD 001C
801EF6CD 0026
D01EF690 0002
D01EF6BE 0000
801EF6BE 0026
D01EF690 0002
D01EF6CE 0000
801EF6CE 0026
D01EF690 0002
D01EF6BE 000B
801EF6BE 0026
D01EF690 0002
D01EF6CE 000B
801EF6CE 0026
D01EF690 0002
D01EF6BE 001C
801EF6BE 0026
D01EF690 0002
D01EF6CE 001C
801EF6CE 0026
D01EF690 0002
D01EF6BF 0000
801EF6BF 0026
D01EF690 0002
D01EF6CF 0000
801EF6CF 0026
D01EF690 0002
D01EF6BF 000B
801EF6BF 0026
D01EF690 0002
D01EF6CF 000B
801EF6CF 0026
D01EF690 0002
D01EF6BF 001C
801EF6BF 0026
D01EF690 0002
D01EF6CF 001C
801EF6CF 0026

Here's a PoC image with the current implementation I made (ignore the HD textures):

Current Crashs and Issues

Known issues are
N64/Everdrive : Goron Baby cutscene will crash.
P64 : Moon is completely black unless you change graphic plugins
Retroarch : Certain Drivers will crash on Cremia Cutscene with shortened cutscenes
Bizhawk : Certain Drivers will crash on Cremia Cutscene with shortened cutscenes

Big Bomb Bag check should not check player's inventory for Bomb Bag.

First, need to verify that the issue exists: Big Bomb Bag check cannot be made without having Bomb Bag (having Upgrade Bomb Bags will not work).

Second, temporary fix should be applied by adding Bomb Bag to the repeatable items list, so that players can go get the Bomb Bag, then do the Big Bomb Bag check.

Third, ROM hack needs to be applied to the Big Bomb Bag check to not require player to have Bomb Bag.

Spoiler logs possible to recreate after ROM generation

Why is this an issue?

Problem:
As someone on Discord observed, when doing a race you get a fixed settings string that the participants use. Races do not allow spoiler logs being generated. At the time being, this is possible by simply generating a new ROM with the identical settings string, with spoiler logs enabled.

Proposed solution:

  • The seeding mechanism should be handled differently if the spoiler log generation is toggled on. It should still be deterministic (same rom for each seed+settings).
  • The new way of handling seeding should preferably not be possible to reverse-engineer (e.g. don't add x to the original seed, makes it possible to subtract from original seed x to generate correct spoiler log).

Enemy Randomizer: Woodfall Temple Black Boes

If Enemy Randomizer is active, the dark room in the Woodfall Temple with a Stray Fairy chest that normally has Black Boes can instead become enemies that respawn constantly, such as Deku Babas, making it nearly impossible to clear the room and spawn the Stray Fairy chest. This can create a dud seed if the Woodfall Great Fairy holds a progression item.

Game crash on "Vanilla Layout" when rolling into the tree outside Observatory.

I've tested this with quite a few different seeds on vanilla layout (works perfectly on all other modes), but when you roll into the tree with the guy trying to get to two red rupees the game crashes. I'm not sure if it crashes on Dolphin or WiiVC as I've only tested it on Project64, ParaLLEI and MupenPlus. Running a playthrough on casual with no item randomizations on was an easy work around though.

2021-09-16.05-53-50.mp4

Suggestion: change the internal name of the generated ROMs so they don't share save files.

The emulator I use, Mupen64Plus, uses the same save file for all ROMs with the same internal name. This means I can't switch back and forth between playing the original Majora's Mask and a randomized version without completely deleting my saves in between.

A potential solution would be to rename the generated ROM. The new name would incorporate the seed used to generated the ROM, as well as a hash of the settings used. That way each generated ROM could have its own save file as well.

Index with anchors for html tracker

Adding a floating index with anchors to the tracker would be helpful to faster mark locations. Scrolling through a list of over 1000 locations and finding the right entry takes time. With an index you can find more easily the region you are in and mark your location.
To make it more visual what I mean I attached a modified tracker to this post.
MMR-1.14.0.16_Tracker_with_Index.zip

Gold Dust can't be obtained more than once at certain locations.

Known locations that do not allow Gold Dust more than once:

  • All Chests (rewards recovery heart instead)
  • Postman HP (rewards purple rupee instead)
  • Swordsman School HP (rewards red rupee instead)
  • Lab Fish HP (rewards recovery heart instead i think)
  • Dog Race HP (rewards red rupee instead)
  • Keaton Quiz HP (reward red rupee instead)

Error during ROM build recommends changing seed when not appropriate

When generating a rom with "User Logic" selected without any actual path for the custom logic selected (using a setting string with user logic set will do this) the randomizer will stop and the error message that pops up says to "Please try a different seed" even though changing the seed could never solve the problem.
image

Color selector changes some textures that don't need to be

On the deku form the face/body, shoe/cuff, and leaf textures are changed. With the zora form the fingers, thumb, leg/arm/body, stomach, glove/cuff, and fin/sideburn textures are changed.

Most of these textures are visually identical with every "tunic color" change but the index/filename changes, which will make texturepacks not work. In the case of the deku's shoe texture the first two pixels change randomly to be very dark or very bright.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.