UberASM Tool windowing library [SA-1 only]
I was coding all this stuff because I planned to make a RPG battle system for SMW but let's say I discovered my classes start tomorrow and I don't think I'll have any time to work on that anymore, so I'm releasing this here.
Just store values to $00-$0F, use invoke_sa1 to some label with PHB PHK PLB and JSL to any of the labels in this file. Remember to write windowing_ before, so if you want to call CircleWindow, you write JSL windowing_CircleWindow. Read the stuff before each effect so you know what to store to $00-$0F
Those who know ASM will probably see how everything is a complete mess and probably super inefficient. Well, that's why I'm not releasing this on the UberASM section, but if anyone want to give it a try, feel free, I don't mind. Do note that, of all of them, the rectangle window is the only which can do weird stuff to your game. Just make sure all the rectangle fits in a 768x512 screen, only the centered 256x224 portion of it will appear on screen.
Here you can see some of the effects in action:
Scaling for any window
EDIT: Forgot to explain how the scaling works.
The windowing table with the data you want to scale must be stored at !tempTable before you call this code, so make sure you set it at the initialization for example. The information here remains untouched and can be changed anytime if you want to scale a different window. The scaled version is updated by the code to smw's windowing table ($04A0) whenever the scaling factor changes.