You will need my quest to do this with.
I have it set up that when you play the whistle/ocarina, you get warped to a small monochrome palace with various warps to all areas of Hyrule. In 2.10, Link gets dropped off in the palace and it's all good. Everything is fine.
In 2.5, Link gets warped to the palace. When I move Link to a different screen, the screen flashes black when the other screen has fully appeared. Why does this happen? The palette technically never changes when the screen flashes.
I'm PM any dev a password, cheat code, or detailed instructions if he or she wishes.
The bug is that darkroom is being set true by lightingChangeScreen() when Link enters the whistle warp destination, by the way.
Where am I suppose to go to use the whistle? No whirlwind appears in town or in any of the surrounding areas.
Basic rule #1: You need the Triforce Pieces to make the whirlwind appear. 😉
(If you do have at least one and the whirlwind/duck doesn't appear... this would be a separate glitch.)
Ugh... the lighting algorithm is... complicated.
I made a fix, but some of the colors still don't fade out completely when you scroll between DMaps, even though I'm passing true as blackall to fade(). Is that correct behavior?
Well, I'm not sure exactly what you mean. I'll be able to tell when the next build is released, so I'll get back to you when it is.
The glitch was that the screen flashed black when you scroll to an adjacent screen after warping to the whistle palace. If the screen no longer flashes when you walk to any of the screens with deactivated warps, then it is fixed.
DarkDragon wrote:Ugh... the lighting algorithm is... complicated.I made a fix, but some of the colors still don't fade out completely when you scroll between DMaps, even though I'm passing true as blackall to fade(). Is that correct behavior?
You mean, like, transparent layers don't fade out? That has, as far as I know, always been an issue.
The problem is that a few csets are system csets and as such, won't fade (subscreen stuff). If a tile uses one of those csets, it won't fade, either. Additionally, if a tile on a transparent layer ends up using a color from a system cset due to the blending code, then that color won't fade, either. The only way to fix that issue is to constantly recalculate the blended colors for every step in the fading algorithm.
you guys are looking at the wrong thing. you use whistle, you warp (screen fade transition) to the gray level, you then walk to a adjacent room and watch the screen re-fade to the exact same palette it already was.
franpa wrote:you guys are looking at the wrong thing. you use whistle, you warp (screen fade transition) to the gray level, you then walk to a adjacent room and watch the screen re-fade to the exact same palette it already was.
From what I understand, the bug is occuring exactly because of what _L_ said: upon entering the whistle warp destination, the game now thinks it's a darkened room, even though it's not. Normally, when you walk from a darkened room into a lightened room, upon entry the game will fade from the dark palette to the normal palette. Since in this case the game thinks the gray level is a darkened room, when you scroll to the adjacent screen, the engine will think that you've scrolled out of a dark room, and as a result fade from the dark palette to the normal palette. Since the palette was never dark, this causes the dark flash effect that was mentioned.
so, dont make the whistle warp set the dark screen flag? or is the whistle behavior tied into other things and this is why it is hard to resolve?
Heh, there's no reason you would know this, but the whistle being broken, and the other bug you reported (screen blackout occurs at wrong time when walking between screens that use different CSets) have the same root cause: scrolling warps do not handle fading correctly.
So correctly fixing one should fix the other.