ZSR Forums

=> Ocarina of Time => Topic started by: mzxrules on November 14, 2015, 04:36:10 AM



Title: Beta Quest: A new OoT Mod
Post by: mzxrules on November 14, 2015, 04:36:10 AM
This took about 4 months too long to finish. The bulk of what makes the mod was finished back in July, but then I decided to work on cutting down cutscenes which took a bit more research/dev. Got sidelined by a vacation, then the laptop I was using shorted out (the second laptop I've lost this year :( ), which meant that I more or less spent about 2 months away from the mod. But anyway it's here

Ocarina of Time, Beta Quest (https://www.mediafire.com/folder/8c5ez915mhfww/Latest) by mzxrules

What is this:
   The Beta Quest mod is an entrance randomizer built from the NTSC 1.0 release.
   It works like this:
   
   Your file name is used to seed the random number generator, used to shuffle
   entrances. Every time you are spawned into the game, the mod intercepts your next
   entrance id, and compares it to a master entrance id table.
   
   The bulk of all valid entrance ids are shuffled amongst themselves, meaning that
   if you touch an exit that takes you into an entrance index within this list,
   you will only ever end up at a spawn within this list.
   
   A much smaller subset of valid entrance ids are randomly given an id by picking a
   random entrance id from the master table. Entrance Ids randomized this way are
   able to send you to a duplicate location. For example, entry points into the
   "generic" and Fairy Fountain grottos are randomized in this way.
   
   An even smaller subset of valid entrance ids are not randomized to make it possible
   to obtain certain items.
   
Which version should I use?
   Due to issues with emulation, there are three different versions of the mod.
   
   "Fix" has a hack applied that is intended to eliminate the delay that occurs when
   pausing or game overing in emulators like Project 64 1.6. This will cause a trippy
   graphical glitch, but is otherwise harmless.
   
   "No Fix" does not have the above hack. This version is packed into the Wii wad.
   
   "Hardware" is a hardware compatable version of the mod. This version also does not
   have the above hack. The only difference is that the rom's files have been
   decompressed. For whatever reason, graphical exceptions and crashes will occur
   when running this version on emulators like Project 64 1.6 and MupenPlus.

Other Changes:

 * Added a special mode where entrances are are constantly being shuffled. To play this
   mode, simply set your filename to "RNG-Only", case specific.
   
 * Added a special check to prevent wrong warps, as they cannot be safely randomized.
   Attempting to wrong warp will ruin your game.
   
   Note: Cutscene skips should not be affected (Forest/Water/Shadow/Spirit medallions,
   warp songs, etc.)
   
 * Shortened several key quest cutscenes, and made it possible to press start to skip
    the final cutscene. A side effect of this is that you can no longer BA off of the
    Light Arrow cs.
   
 * Entrances that crash as a Child or Adult have been tweaked to not crash. As a result,
   all dungeons can be beaten as a child
   
 * The Nabooru Knuckle fight now also triggers as a child, preventing you from becoming
   trapped in the room.
   
 * Child Link is now able to equip all 3 tunics, and the Mirror Shield
   
 * Added a secret area that can only be reached by entering a grotto. It will disappear
   once you open the chest at the end.
   
   Note: Although the possibility is very small, beating the secret area may be mandatory
   for beating the game.
   
 * Until you obtain magic, Great Fairy Fountains will always take you to the magic one.
   The Magic Great Fairy Fountain's exit will depend on the initial entrance used
   
 * Ganon's Castle (outside area) spawns have been tweaked to keep you in bounds
 
 * All of Tower Collapse's temporary events (except for the collapse cutscene itself) have
   been made permanent
   
 * Farore's Wind restore points are retained when going through time
 
 * The Song of Time door will now open when spawning from all entrances
 
 * Imported 1.2's Kakariko Graveyard to eliminate sticky graves
 
 * Whatever you do, don't hold L (Dpad-Up on Wii) and definitely attempt to press different
   combinations of these buttons while holding L (Dpad-Up) when going through a loading zone:
   
    * Z, C-Up, C-Down, C-Left, C-Right
    * Start
    * R
 
Known Issues:

 * When walking around (especially as an adult), you will trigger the infamous fog glitch.
 


Title: Re: Beta Quest: A new OoT Mod
Post by: mzxrules on November 14, 2015, 06:06:54 AM
Accidentally uploaded an older Wii Wad, which contains a few glitches I fixed in the latest version. I should have uploaded the correct wad now. The current version of the mod will show V1 on the title screen, in the bottom right.


Title: Re: Beta Quest: A new OoT Mod
Post by: BasedKingPotato on November 14, 2015, 10:49:02 AM
Neat! This seems really fleshed out!
So each time you start a new file, it will create a table that contains all of the entrance IDs but in a random order, based on the name you gave the file? Pretty cool!

I remember making a fairly simple GameShark code which took the RNG variable (which I took from sockfolder's MHS address list), modulo-ed it with 0x66C, and stored the result to the Entrance ID address whenever you tried to load a new area. It was slightly different in that even if you left the area in the same way twice, it would (almost) always send you somewhere different. Of course, from 0 - 0x66C there are still some invalid entrance IDs, so it would crash every now and then. This seems *way* cooler though!


Title: Re: Beta Quest: A new OoT Mod
Post by: mzxrules on November 14, 2015, 05:09:42 PM
I actually generate the table almost every time you begin to load a new area. The reason for this is that I wanted to keep the table in memory for testing purposes (since the main program is loaded into space that becomes the "actor" heap later on), but I was worried that even though I allocated space for it on the heap by sticking it on the end of an existing blob, something might overwrite it (the blob seems to always be allocated after booting, but I never 100% tested it). Luckily, this actually made it rather easy to add RNG-Only mode after the fact.

The valid range of entrances should be between 0x0000 to 0x0613 inclusive. Any higher will pull from the scene table data and have a good chance of crashing


Title: Re: Beta Quest: A new OoT Mod
Post by: fishfood on November 15, 2015, 01:52:39 AM
This Hack is super fun. Also i found a grotto with 3 iron knuckles activated by bombs and i was unable to move, is that normal. heres the video lol http://www.twitch.tv/botmfishfood/v/25849864


Title: Re: Beta Quest: A new OoT Mod
Post by: Jbop on November 16, 2015, 12:24:01 AM
lmao


Title: Re: Beta Quest: A new OoT Mod
Post by: mzxrules on November 16, 2015, 02:05:49 AM
Some bugs people have reported:

QZ: Crash on entering DC door, above bombable staircase, adult.

gUInホメヒフ crash on Bolero, Adult: https://gyazo.com/71299139131f4ce7ac1c8ecf883f4318

Classic OoT bug: Running out of health outside Temple of Time (Child and Adult) results in yellow bar crash.

cSf48v "there is a weird bug, when sunsong-warp from haunted-wasteland to ddc - camera is frozen and updates only when I pause and unpause" im playing on mupen64plus-bundle-win32-2.5 with english lang ^^


Title: Re: Beta Quest: A new OoT Mod
Post by: mrbubbleskp on November 18, 2015, 11:07:14 PM
love this mod! Making bingos very creative :)


Title: Re: Beta Quest: A new OoT Mod
Post by: Dagoth_Bob on November 23, 2015, 02:04:47 AM
Great mod. Even though I'm not a speedrunner, it's a fun challenge to attempt 100% with randomized exits.

There's only one issue I've run into, so far. If you are sent to the Spirit Temple exit in the Desert Colossus and the Requiem of Spirit cutscene triggers, the game will crash when the cutscene ends. I've had it happen on two different seeds and I run through an Everdrive v2 on N64 hardware. I was given a yellow bar the first instance of it occurring, but a hard freeze on the second seed I attempted with.


Title: Re: Beta Quest: A new OoT Mod
Post by: mzxrules on November 23, 2015, 02:45:50 AM
Note to everyone: If you encounter a yellow bar crash, please try and show the debug screens to me. I can understand them, and try and trace the exception that occurred


Title: Re: Beta Quest: A new OoT Mod
Post by: RainingChain on November 23, 2015, 04:26:58 AM
Great mod. Even though I'm not a speedrunner, it's a fun challenge to attempt 100% with randomized exits.

There's only one issue I've run into, so far. If you are sent to the Spirit Temple exit in the Desert Colossus and the Requiem of Spirit cutscene triggers, the game will crash when the cutscene ends. I've had it happen on two different seeds and I run through an Everdrive v2 on N64 hardware. I was given a yellow bar the first instance of it occurring, but a hard freeze on the second seed I attempted with.

Requiem of Spirit cutscene also makes me crash when it ends. Other than that, I had no bug. That mod is really addicting! I really like it.


Title: Re: Beta Quest: A new OoT Mod
Post by: Dagoth_Bob on November 25, 2015, 09:16:46 PM
Note to everyone: If you encounter a yellow bar crash, please try and show the debug screens to me. I can understand them, and try and trace the exception that occurred

I'll track down the crash again and see if I can't get you pics of the debug screen.

Probably worth noting that I didn't experience any crash/freeze on VC.

Also one minor thing to fix; the lon-lon bottle cannot be obtained, as successful completion of the minigame is a randomized exit. Might make sense to make that one non-random, like you did with the medallions.


Title: Re: Beta Quest: A new OoT Mod
Post by: mzxrules on November 26, 2015, 02:25:03 AM
Dagoth_Bob: I've fixed the Requiem Crash and Softlock. Crash is caused by using the "sandstorm" transition being set to play on entering a new area. The reason is that this particular transition requires a specific object file (which stores graphical assets) to be loaded, but the dependency is defined on a per room basis and most rooms don't load it.


Title: Re: Beta Quest: A new OoT Mod
Post by: Dagoth_Bob on November 26, 2015, 07:55:42 PM
Dagoth_Bob: I've fixed the Requiem Crash and Softlock. Crash is caused by using the "sandstorm" transition being set to play on entering a new area. The reason is that this particular transition requires a specific object file (which stores graphical assets) to be loaded, but the dependency is defined on a per room basis and most rooms don't load it.

I gotcha. I'm willing to bet the reason it didn't crash on VC was because the room loaded right after it happened to be inside the Spirit Temple, which may have had access to that transition.

That, or because VC.