Thanks, guys!
The current method of generating parallax and wave HDMA is quite limited as they're generated by tool and the resulting offsets are only useful for that kind of parallax and waves. In general, I like to have HDMA being more "generalised", one where you only have to input the parameters and let the rest of the code handle the animation. My update to the
Layer 3 Sunset has teased it a bit as it also uses a what I call "HDMA buffer" for the parallax.
This, of course, is a bit slow (since the code has to calculated every scanline individually) but it's personally worth it (especially since it allows for more dynamic waves).
Another advantage is that you don't need a tool anymore: Just enter the parameters yourself!
I plan on making the waves more customisble and improve the code a bit (e.g. the waves stay static to the screen) and move the logic to SA-1 as I rushed it out for C3. Even then, it's mostly the frontend which has to be edited. The backend's only issue is the lack of a proper SA-1 support.
Originally posted by CounterfeitHah, it's nice to see openly-available HDMA wavy animation. I have never seen the effect you did on the fog or layer 3 water before.
I oriented on Super Metroid, where the waves only appear in the water, and Yoshi's Island, where some mist GFX (such as before Hookbill).
Originally posted by CounterfeitDoes the wavy effect on the foreground disrupt either how you appear to or actually do interact with it?
Not worth the effort. For one, SMW uses interaction points so the interaction would look weird. It's much easier to create a custom interaction where HDMA to affect whole blocks (related to SMB3 where all the moving blocks are all on the same layer). For the other, I have only provided UberASM code but I need a patch to modify the interaction.
Originally posted by TheMorganahSorry but i can't see the difference in the second GIF.
Could you explain what .asm does exactly?
In the second image, each scanlines alternate the direction in which the waves go. That means, every even line goes to the left whereas every odd line to the right. This allows for a more trippy fog.