Zeth Ryder Posted September 21, 2012 Share Posted September 21, 2012 Something that has plagued us since the days of old when we first got the rom was that the beta courtyard had huge graphical errors. This is mainly cause the map is animated and a lot of the animating functions have changed just a bit. So for a total of 20 bytes you can also play the beta courtyard map ingame! VIDEO: PATCH: Download PPF Patch 3 Link to comment Share on other sites More sharing options...
Jason777 Posted September 21, 2012 Share Posted September 21, 2012 Is this JSA's fix or did you optimize it a little bit? EDIT: Nevermind, I read the glitchkill topic Link to comment Share on other sites More sharing options...
Zeth Ryder Posted September 21, 2012 Author Share Posted September 21, 2012 Is this JSA's fix or did you optimize it a little bit? EDIT: Nevermind, I read th glitchkill topic You can ask Naxy, I screenshared with him the whole time as I started from the beginning figuring it out and worked on this on my own. I however did try JSA's fix afterwards while it gets the map to animate mostly correctly, the fountain is too slow and glitches, which there is nothing that can be done due to the hard coded offset that is needed to get it load properly(aka loading it via the offset castle courtyard in the scenetable). Though it seems he did a few things in the scene that -really- didn't need to be done either cause it didn't effect how the map ran and what I did was allowed us to have it animated properly, give us a proper camera angle and of course its actually ingame now. Link to comment Share on other sites More sharing options...
LEepicPOULET Posted September 21, 2012 Share Posted September 21, 2012 Where are the guards? Were they all fired? Link to comment Share on other sites More sharing options...
Zeth Ryder Posted September 21, 2012 Author Share Posted September 21, 2012 Where are the guards? Were they all fired? They weren't implemented in the beta version of the map. Link to comment Share on other sites More sharing options...
Twili Posted September 22, 2012 Share Posted September 22, 2012 What Zelda Edit failed to do six years ago with "Correct Hyrulean Game 2 (125) GPU Errors" has now been done! I will examine the changes closely later to see how exactly it was done. Link to comment Share on other sites More sharing options...
john_smith_account Posted September 23, 2012 Share Posted September 23, 2012 You can ask Naxy, I screenshared with him the whole time as I started from the beginning figuring it out and worked on this on my own. I however did try JSA's fix afterwards while it gets the map to animate mostly correctly, the fountain is too slow and glitches, which there is nothing that can be done due to the hard coded offset that is needed to get it load properly(aka loading it via the offset castle courtyard in the scenetable). Though it seems he did a few things in the scene that -really- didn't need to be done either cause it didn't effect how the map ran and what I did was allowed us to have it animated properly, give us a proper camera angle and of course its actually ingame now. I don't *think* I did do anything extra, but I may have. If I recall, I removed 2 sets of display listings which cause the crash. I didn't just remove them out though, I moved the entries down to the end of the list, and reduced the number of entries by two, so they wouldn't load. I did it that way so if someone, someday took a look at my fix, and knew how to correct the error(s) in the glitched entries, they could. 20 bytes? Very efficient! How's it work? Link to comment Share on other sites More sharing options...
Zeth Ryder Posted September 23, 2012 Author Share Posted September 23, 2012 I don't *think* I did do anything extra, but I may have. If I recall, I removed 2 sets of display listings which cause the crash. I didn't just remove them out though, I moved the entries down to the end of the list, and reduced the number of entries by two, so they wouldn't load. I did it that way so if someone, someday took a look at my fix, and knew how to correct the error(s) in the glitched entries, they could. 20 bytes? Very efficient! How's it work? In the map, change every DE command's values, example DE00 0000 0X00 0000, they all needed to be change to the value 8 for X, except the last one which needs to be value 9(aka for the fountain to run at proper speed), the scene needs to be loaded up in the scenetable where the final game's courtyard is to run correctly. Its part of something hardcoded needed to run that 09 for animating that fountain correctly.(I racked my brain for a while thinking it was in the scene and its not, suddenly it worked when loaded from the final game's scene offset) For the one in the patch, I loaded the map via the final game's scene to give the camera view and exits, the collision is exactly the same. If anyone wanted to just see the map and didn't care about the animating of textures, go to 0xBA141D in the Debug rom and change the value from 23 to 00. That will null out the animation for textures and cause the map to load properly with no graphical errors. Link to comment Share on other sites More sharing options...
DeathBasket Posted September 23, 2012 Share Posted September 23, 2012 ... the scene needs to be loaded up in the scenetable where the final game's courtyard is to run correctly. Its part of something hardcoded needed to run that 09 for animating that fountain correctly. ... This is because the scene number is used as an index to get the pointer to the code that handles changing/animating the textures. I can't remember where these are but changing that pointer would have the textures animate properly without having to replace the other scene. Link to comment Share on other sites More sharing options...
Zeth Ryder Posted September 23, 2012 Author Share Posted September 23, 2012 This is because the scene number is used as an index to get the pointer to the code that handles changing/animating the textures. I can't remember where these are but changing that pointer would have the textures animate properly without having to replace the other scene. The weird thing is, both the final and beta castle courtyard map share the same animation index number(0023) in the scenetable yet it doesn't have all the required [functions?] to properly handle the courtyards animation via that scene location. Any help pointing me to that area would give me an idea where I can start understanding this a bit more too. Link to comment Share on other sites More sharing options...
Twili Posted September 23, 2012 Share Posted September 23, 2012 All of this talk of an animation index for scenes and scene-specific animation speeds for particular banks is interesting. If it is not any trouble, may I have some more details on this stuff? Link to comment Share on other sites More sharing options...
Zeth Ryder Posted September 23, 2012 Author Share Posted September 23, 2012 All of this talk of an animation index for scenes and scene-specific animation speeds for particular banks is interesting. If it is not any trouble, may I have some more details on this stuff? As far as I know, somewhere in the map determines how animated textures flow(Like direction), which I still haven't located yet, however those are also accompanied in each Dlist by a DE command, DE00 0000 0X00 0000. X's values that I have seen OOT use are: 03 - Seems to be a jump to display list at a certain offset 06 - Same as above but for objects(zobjs) 08 - The basic animating texture function, usually used mostly for like animating water like in lakes or other things, also is used in npcs to animate eyes 09 - Was used to animate the fountain, perhaps used for complicated versions of animation and flowing of textures? 0A - Unknown 0B - Unknown 0C - This one doesn't cause texture animation but seems to allow RGBA colouring that is controlled by actors or scenes to be applied to the displaylist. In the Scene table, Every scene entry is set up like this: xxxxxxxx yyyyyyyy aaaaaaaa bbbbbbbb qqrr sstt X = Scene beginning offset Y = Scene ending offset A = Location text beginning offset B = Location text ending offset Q = unknown currently R = Animation index and camera effects S = Determines if the map is a dungeon and allows dungeon objects to load properly (like the spirit temple doors) T = unknown currently That's about as much information as I have on the animation index and animating textures. Perhaps DB can fill us in on what he has? Link to comment Share on other sites More sharing options...
xdaniel Posted September 23, 2012 Share Posted September 23, 2012 DE000000 xxyyyyyy, where xx is simply the RAM segment in which the called Display List resides. It's not so much that a specific value provides a specific effect, but that the game sets up a specific RAM segment depending on the scene, while the room(s) in it either call DLists in that segment or use it as a source of textures (see ex. Kakariko's windows and a whole lot of stuff in MM). I messed around with this before but I believe I got stuck after the scene table... I had some notes on this, but I doubt they're of any use. Link to comment Share on other sites More sharing options...
john_smith_account Posted September 23, 2012 Share Posted September 23, 2012 In the Scene table, Every scene entry is set up like this: xxxxxxxx yyyyyyyy aaaaaaaa bbbbbbbb qqrr sstt Q = unknown currently R = Animation index and camera effects S = Determines if the map is a dungeon and allows dungeon objects to load properly (like the spirit temple doors) T = unknown currently Hey, I know these! I can help. If memory serves, I can add a little more infoirmation to this. I haven't done this in a LONG time, I'll have to get my old system out. For one thing, aren't they both 4 digits? So, QQQQ and RRRR. If I remember QQQQ sets special textures and blend options. Special textures are referenced in map, but don't appear in either the map or scene. Xdaniel's example above, Kakariko's windows (which change between day and night by the way.) Data for these textures appears just below the scene table. Adding scenes by over writing this data corrupts these special textures. It also sets texture blends. Example, Sharp Ocarina uses Hyrule Field's blend texture blend, which won't work on other scene entries unless you copy the QQQQ value from the Hyrule Field scene entry. As for the camera effects, I was unaware of this. Do you mean "frozen camera" scenes like the outside of the temple of time? Wait, or was outside the temple of time a type 1 map(type 0 being vertex colored maps, and type 2 being maps which include normal shading and vertex clipping.), and the shops were the frozen camera.... RRRR is Temple textures. Yep temple doors, but other temple objects and maybe temple blocks. But even more textures still! The entrance for each temple is textured with a special texture which isn't in the scene or map, and it loads by the RRRR value. Again, ask Xdaniel. I'm sure he noticed it while making OZMAV. I learned all this *LONG AGO* while trying to port the regular dungeons to the Master Quest ROM. The offset data to the special textures differs from ROM version to ROM version. So you can't even load dungeons from say the 1.0 ROM to the 1.1 ROM without a crash on rooms with special textures. How you put it Zeth put it...Hard coded? Is this what you mean? Beta Bonus: (Proof Fado was never a Sage and the Sage plot goes way back to beta stage of development or older.) I'm dropping this one now while I'm thinking of stuff that never got post to the wiki, and may get "lost" again... 2nd Cutscene (or is it third?) Chamber of the Sages contains only 1 actor(but many more groups!), Rauru. It is the cutscene that plays right after the spirit temple *OR* the shadow temple when you have collected all the Medalions. All that happens is Rauru tells you someone is waiting for you in the temple of time, raises his arms, and fade to white. *BUT* It is a very special cutscene because it contains *many* clue to the history of the development of the plot. My favorite being that Saria has always been the forest Sage. Proof? The Scene includes unused groups(objects). Beta saria's group being one of them. Weirder still is the Beta Zora. Yep before Ruto was a sage (and apparently before the Zora's were finished) there was a Zora in the Chamber of sages. The group(object) in that scene for a Zora is so *ANCIET OLD* that it's beyond beta. Alpha, or maybe just a place holder even. Anyways, more later. Link to comment Share on other sites More sharing options...
Jason777 Posted September 23, 2012 Share Posted September 23, 2012 Damn, JSA... Nice info! Also, there's some more information regarding scene index values and animation in another thread that some of you guys might have forgotten about: http://www.the-gcn.com/topic/600-xdaniels-random-junk/page__st__60#entry10697 Link to comment Share on other sites More sharing options...
DeathBasket Posted September 24, 2012 Share Posted September 24, 2012 Thanks for finding that, I had no idea where I posted it. The weird thing is, both the final and beta castle courtyard map share the same animation index number(0023) in the scenetable yet it doesn't have all the required [functions?] to properly handle the courtyards animation via that scene location. Any help pointing me to that area would give me an idea where I can start understanding this a bit more too. That seems odd since if it is running the same code then it should produce the same effect? I will have a look at this when I can and see if I can find out why it didn't work properly. Link to comment Share on other sites More sharing options...
Zeth Ryder Posted September 24, 2012 Author Share Posted September 24, 2012 For one thing, aren't they both 4 digits? So, QQQQ and RRRR. If I remember QQQQ sets special textures and blend options. Special textures are referenced in map, but don't appear in either the map or scene. Xdaniel's example above, Kakariko's windows (which change between day and night by the way.) Data for these textures appears just below the scene table. Adding scenes by over writing this data corrupts these special textures. It also sets texture blends. Example, Sharp Ocarina uses Hyrule Field's blend texture blend, which won't work on other scene entries unless you copy the QQQQ value from the Hyrule Field scene entry. While I'm not entirely sure if the values go together in 4 digits, however I have not seen anything to do with texture blending, using the Hyrule field scene as an example, which its values after the locations title offset are : 0001 0000; Disabling 01 doesn't effect blending but does disable all animating textures, aka the water in Hyrule field.(I retested it just to make sure, was sharing my screen with sakura at the time so she can confirm it). As for the camera effects, I was unaware of this. Do you mean "frozen camera" scenes like the outside of the temple of time? Wait, or was outside the temple of time a type 1 map(type 0 being vertex colored maps, and type 2 being maps which include normal shading and vertex clipping.), and the shops were the frozen camera....I don't believe it is the frozen camera used in shops(not 100% for sure), however it does produce effects such as the rumbling shaking effect used in Ganon's castle or the wobbly effect in Lord Jabu Jabu. I made a video of it a long time ago, the camera effects are at 1:15 of the video. I learned all this *LONG AGO* while trying to port the regular dungeons to the Master Quest ROM. The offset data to the special textures differs from ROM version to ROM version. So you can't even load dungeons from say the 1.0 ROM to the 1.1 ROM without a crash on rooms with special textures. How you put it Zeth put it...Hard coded? Is this what you mean?Actually Sakura ported all of 1.0's dungeons correctly which just fixed only scene, map offsets for each 1.0 version. There was a few small bugs due to a few bugs in Sakura's code for porting which she was fixing before her computer died. But its very possible to port different versions of OOT's maps into another with very little to no problems. I took some screenshots of it from the wip patch I have of it. As you can see it does load the dungeon specific textures properly. Beta Bonus: (Proof Fado was never a Sage and the Sage plot goes way back to beta stage of development or older.) I'm dropping this one now while I'm thinking of stuff that never got post to the wiki, and may get "lost" again... 2nd Cutscene (or is it third?) Chamber of the Sages contains only 1 actor(but many more groups!), Rauru. It is the cutscene that plays right after the spirit temple *OR* the shadow temple when you have collected all the Medalions. All that happens is Rauru tells you someone is waiting for you in the temple of time, raises his arms, and fade to white. *BUT* It is a very special cutscene because it contains *many* clue to the history of the development of the plot. My favorite being that Saria has always been the forest Sage. Proof? The Scene includes unused groups(objects). Beta saria's group being one of them. Weirder still is the Beta Zora. Yep before Ruto was a sage (and apparently before the Zora's were finished) there was a Zora in the Chamber of sages. The group(object) in that scene for a Zora is so *ANCIET OLD* that it's beyond beta. Alpha, or maybe just a place holder even. Actually, with my research I've done, I honestly believe Fado became Saria. The beta model and Fado's original beta model share the same textures for the sideburns, blond(and saria is not blond obviously), further more, comparing the eyes, its using the same eye texture from Fado's but slightly edited/stretched. Later on with the beta model of the final blond kokiri girl, they use the same textures from Saria's edit but slightly change it, but still basically the same. Again the same sideburn texture is used. With how the game was suppose to have a wind temple, which shows with the ganon's castle forest barrier, the wind medallion japanese text and later how fado in WW is the sage of wind. I just think literally it evolved that fado was the original sage of wind, but later was developed into Saria who became the sage of forest, in which the blond kokiri girl seen ingame evolved from Saria and the original fado, but as a separate npc. No other beta npc kokiri shares the same exact eye textures or side burns as these do. Though an interesting find on the alpha zora model being loaded up in the object list for the chamber of sages, that's very interesting indeed! So it looks like they changed both the Ice and Wind Sages to fit for the new elemental themes perhaps? Also I have a picture of the beta zora loaded ingame via the prerelease. 3 Link to comment Share on other sites More sharing options...
Antidote Posted September 24, 2012 Share Posted September 24, 2012 Wow, thats incredibly interesting. Zeth I can see the resemblances, even without the reference images you provided at the bottom. Even the final Fado looks a bit like Saria in the final game. Link to comment Share on other sites More sharing options...
Arcaith Posted September 24, 2012 Share Posted September 24, 2012 A thought; textures probably animate along the V axis, vertically from top to bottom as viewed in the unwrapper. Link to comment Share on other sites More sharing options...
xdaniel Posted September 24, 2012 Share Posted September 24, 2012 While I'm not entirely sure if the values go together in 4 digits, however I have not seen anything to do with texture blending, using the Hyrule field scene as an example, which its values after the locations title offset are : 0001 0000; Disabling 01 doesn't effect blending but does disable all animating textures, aka the water in Hyrule field.(I retested it just to make sure, was sharing my screen with sakura at the time so she can confirm it). IIRC changing Kakariko's 02 to 33 - so collapsing Ganon's Castle's data with the screen shaking - "removes" the multitexturing from the grass. Seeing how the combiner setup of which uses Environment Alpha for mixing, I assume that Ganon's Castle doesn't provide proper Environment Alpha. Link to comment Share on other sites More sharing options...
Zeth Ryder Posted September 24, 2012 Author Share Posted September 24, 2012 IIRC changing Kakariko's 02 to 33 - so collapsing Ganon's Castle's data with the screen shaking - "removes" the multitexturing from the grass. Seeing how the combiner setup of which uses Environment Alpha for mixing, I assume that Ganon's Castle doesn't provide proper Environment Alpha. Oh interesting, I didn't know that, I just tried that. Yeah it looks like Ganon's castle doesn't provide the environment alpha needed(or perhaps causes a conflict?), though I find it interesting that it literally stops the combiner. But if disabling the index, the combiner works properly, just the windows in Kakariko don't. Same goes for other values, the combiner still works on the textures. I even tried it with the value for Lord Jabu Jabu's wobbling effect of the camera, it still works, my guess is just the ganon's castle value causes some sort of issue? Link to comment Share on other sites More sharing options...
Twili Posted September 27, 2012 Share Posted September 27, 2012 1 Link to comment Share on other sites More sharing options...
SanguinettiMods Posted September 27, 2012 Share Posted September 27, 2012 Hmm. Restore the triangle that can be seen. (remove the current window entirely, lower the wing/triforce texture, and replace the triforce with a triangle window, bam.) Link to comment Share on other sites More sharing options...
Twili Posted September 27, 2012 Share Posted September 27, 2012 Hmm. Restore the triangle that can be seen. (remove the current window entirely, lower the wing/triforce texture, and replace the triforce with a triangle window, bam.) That is something I am actually planning on doing. Link to comment Share on other sites More sharing options...
john_smith_account Posted September 29, 2012 Share Posted September 29, 2012 Actually Sakura ported all of 1.0's dungeons correctly which just fixed only scene, map offsets for each 1.0 version. There was a few small bugs due to a few bugs in Sakura's code for porting which she was fixing before her computer died. But its very possible to port different versions of OOT's maps into another with very little to no problems. I took some screenshots of it from the wip patch I have of it. As you can see it does load the dungeon specific textures properly. I really don't see how that's possible. One would have to fix the special texture offsets within the maps. I ported the Deku, with a single map to demonstrate And before you ask, yes it works fine with only a single map in it's native ROM. The camera will freeze after the intro, but you can use debug to get around it. I used a DMA free ROM, but I don't think it's necessary in this case. http://www.sendspace.com/file/aakb3k And I've done maps like Lon Lon Ranch before, and have gotten similar texture corruptions. I'll respond to the rest of the post later. Link to comment Share on other sites More sharing options...
Recommended Posts